diff --git a/.devops/testing_ci.yml b/.devops/testing_ci.yml
index 67d12d6503..e9e53e9a24 100644
--- a/.devops/testing_ci.yml
+++ b/.devops/testing_ci.yml
@@ -38,8 +38,8 @@ steps:
- script: |
python -m pip install --upgrade pip setuptools wheel
- pip install -r requirements.txt
- pip install -r requirements-dev.txt
+ pip install --require-hashes -r requirements.txt
+ pip install --require-hashes -r requirements-dev.txt
pip install unittest-xml-reporting coverage invoke
sudo apt-get install poppler-utils
sudo apt-get install libpoppler-dev
diff --git a/.github/actions/setup/action.yaml b/.github/actions/setup/action.yaml
index 7bbce3a397..44ba540d33 100644
--- a/.github/actions/setup/action.yaml
+++ b/.github/actions/setup/action.yaml
@@ -84,7 +84,7 @@ runs:
- name: Install dev requirements
if: ${{ inputs.dev-install == 'true' ||inputs.install == 'true' }}
shell: bash
- run: uv pip install -r src/backend/requirements-dev.txt
+ run: uv pip install --require-hashes -r src/backend/requirements-dev.txt
- name: Run invoke install
if: ${{ inputs.install == 'true' }}
shell: bash
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index d1d67fb3f4..0a6bdd5b8f 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -4,6 +4,10 @@ updates:
directory: /
schedule:
interval: weekly
+ groups:
+ dependencies:
+ patterns:
+ - "*" # Include all dependencies
- package-ecosystem: docker
directory: /contrib/container
@@ -24,13 +28,25 @@ updates:
directory: /src/backend
schedule:
interval: weekly
+ groups:
+ dependencies:
+ patterns:
+ - "*" # Include all dependencies
- package-ecosystem: pip
directory: /src/backend
schedule:
interval: weekly
+ groups:
+ dependencies:
+ patterns:
+ - "*" # Include all dependencies
- package-ecosystem: npm
directory: /src/frontend
schedule:
interval: weekly
+ groups:
+ dependencies:
+ patterns:
+ - "*" # Include all dependencies
diff --git a/.github/requirements.in b/.github/requirements.in
new file mode 100644
index 0000000000..5d479962c1
--- /dev/null
+++ b/.github/requirements.in
@@ -0,0 +1,3 @@
+# Packages needed for CI
+ requests==2.31.0
+ pyyaml==6.0.1
diff --git a/.github/requirements.txt b/.github/requirements.txt
new file mode 100644
index 0000000000..73856016a7
--- /dev/null
+++ b/.github/requirements.txt
@@ -0,0 +1,161 @@
+# This file was autogenerated by uv via the following command:
+# uv pip compile .github/requirements.in -o .github/requirements.txt --python-version=3.9 --no-strip-extras --generate-hashes
+certifi==2024.2.2 \
+ --hash=sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f \
+ --hash=sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1
+ # via requests
+charset-normalizer==3.3.2 \
+ --hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \
+ --hash=sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087 \
+ --hash=sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786 \
+ --hash=sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8 \
+ --hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \
+ --hash=sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185 \
+ --hash=sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574 \
+ --hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \
+ --hash=sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519 \
+ --hash=sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898 \
+ --hash=sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269 \
+ --hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \
+ --hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \
+ --hash=sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6 \
+ --hash=sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8 \
+ --hash=sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a \
+ --hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \
+ --hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc \
+ --hash=sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714 \
+ --hash=sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2 \
+ --hash=sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc \
+ --hash=sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce \
+ --hash=sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d \
+ --hash=sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e \
+ --hash=sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 \
+ --hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \
+ --hash=sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96 \
+ --hash=sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d \
+ --hash=sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a \
+ --hash=sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4 \
+ --hash=sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77 \
+ --hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \
+ --hash=sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0 \
+ --hash=sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed \
+ --hash=sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068 \
+ --hash=sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac \
+ --hash=sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25 \
+ --hash=sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8 \
+ --hash=sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab \
+ --hash=sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26 \
+ --hash=sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2 \
+ --hash=sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db \
+ --hash=sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f \
+ --hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \
+ --hash=sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99 \
+ --hash=sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c \
+ --hash=sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d \
+ --hash=sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811 \
+ --hash=sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa \
+ --hash=sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a \
+ --hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \
+ --hash=sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b \
+ --hash=sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04 \
+ --hash=sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c \
+ --hash=sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001 \
+ --hash=sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458 \
+ --hash=sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389 \
+ --hash=sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99 \
+ --hash=sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985 \
+ --hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \
+ --hash=sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238 \
+ --hash=sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f \
+ --hash=sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d \
+ --hash=sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796 \
+ --hash=sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a \
+ --hash=sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143 \
+ --hash=sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8 \
+ --hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \
+ --hash=sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5 \
+ --hash=sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5 \
+ --hash=sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711 \
+ --hash=sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4 \
+ --hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \
+ --hash=sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c \
+ --hash=sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7 \
+ --hash=sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4 \
+ --hash=sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b \
+ --hash=sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae \
+ --hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \
+ --hash=sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c \
+ --hash=sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae \
+ --hash=sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8 \
+ --hash=sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887 \
+ --hash=sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b \
+ --hash=sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4 \
+ --hash=sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f \
+ --hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \
+ --hash=sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33 \
+ --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \
+ --hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561
+ # via requests
+idna==3.7 \
+ --hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \
+ --hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0
+ # via requests
+pyyaml==6.0.1 \
+ --hash=sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5 \
+ --hash=sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc \
+ --hash=sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df \
+ --hash=sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741 \
+ --hash=sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206 \
+ --hash=sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27 \
+ --hash=sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595 \
+ --hash=sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62 \
+ --hash=sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98 \
+ --hash=sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696 \
+ --hash=sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290 \
+ --hash=sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9 \
+ --hash=sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d \
+ --hash=sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6 \
+ --hash=sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867 \
+ --hash=sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47 \
+ --hash=sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486 \
+ --hash=sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6 \
+ --hash=sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3 \
+ --hash=sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007 \
+ --hash=sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938 \
+ --hash=sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0 \
+ --hash=sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c \
+ --hash=sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735 \
+ --hash=sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d \
+ --hash=sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28 \
+ --hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \
+ --hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \
+ --hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \
+ --hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
+ --hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \
+ --hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \
+ --hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \
+ --hash=sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0 \
+ --hash=sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515 \
+ --hash=sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c \
+ --hash=sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c \
+ --hash=sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924 \
+ --hash=sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34 \
+ --hash=sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 \
+ --hash=sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859 \
+ --hash=sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673 \
+ --hash=sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54 \
+ --hash=sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a \
+ --hash=sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b \
+ --hash=sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab \
+ --hash=sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa \
+ --hash=sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c \
+ --hash=sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585 \
+ --hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \
+ --hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f
+requests==2.31.0 \
+ --hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \
+ --hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1
+urllib3==2.2.1 \
+ --hash=sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d \
+ --hash=sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19
+ # via requests
diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yaml
similarity index 96%
rename from .github/workflows/backport.yml
rename to .github/workflows/backport.yaml
index 916deb8e8c..bb09d65f3b 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yaml
@@ -7,7 +7,7 @@ name: Backport
on:
pull_request_target:
- types: [ "labeled", "closed" ]
+ types: ["labeled", "closed"]
jobs:
backport:
diff --git a/.github/workflows/check_translations.yaml b/.github/workflows/check_translations.yaml
index 35bb75b426..9565f1a6d8 100644
--- a/.github/workflows/check_translations.yaml
+++ b/.github/workflows/check_translations.yaml
@@ -15,13 +15,12 @@ permissions:
contents: read
jobs:
-
check:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- INVENTREE_DB_NAME: './test_db.sqlite'
+ INVENTREE_DB_NAME: "./test_db.sqlite"
INVENTREE_DB_ENGINE: django.db.backends.sqlite3
INVENTREE_DEBUG: info
INVENTREE_MEDIA_ROOT: ./media
diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml
index 42af7251c2..7c5b9d9384 100644
--- a/.github/workflows/docker.yaml
+++ b/.github/workflows/docker.yaml
@@ -15,14 +15,14 @@ name: Docker
on:
release:
- types: [ published ]
+ types: [published]
push:
branches:
- - 'master'
+ - "master"
pull_request:
branches:
- - 'master'
+ - "master"
permissions:
contents: read
@@ -30,8 +30,8 @@ permissions:
jobs:
paths-filter:
permissions:
- contents: read # for dorny/paths-filter to fetch a list of changed files
- pull-requests: read # for dorny/paths-filter to read pull requests
+ contents: read # for dorny/paths-filter to fetch a list of changed files
+ pull-requests: read # for dorny/paths-filter to read pull requests
name: Filter
runs-on: ubuntu-latest
@@ -65,7 +65,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
python_version: "3.11"
- runs-on: ubuntu-latest # in the future we can try to use alternative runners here
+ runs-on: ubuntu-latest # in the future we can try to use alternative runners here
steps:
- name: Check out repo
@@ -76,8 +76,7 @@ jobs:
python-version: ${{ env.python_version }}
- name: Version Check
run: |
- pip install requests==2.31.0
- pip install pyyaml==6.0.1
+ pip install --require-hashes -r .github/requirements.txt
python3 .github/scripts/version_check.py
echo "git_commit_hash=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
echo "git_commit_date=$(git show -s --format=%ci)" >> $GITHUB_ENV
diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml
index 693e0b7539..1b778950bb 100644
--- a/.github/workflows/qc_checks.yaml
+++ b/.github/workflows/qc_checks.yaml
@@ -4,15 +4,17 @@ name: QC
on:
push:
- branches-ignore: [ 'l10*' ]
+ branches-ignore: ["l10*"]
pull_request:
- branches-ignore: [ 'l10*' ]
+ branches-ignore: ["l10*"]
env:
python_version: 3.9
node_version: 18
# The OS version must be set per job
server_start_sleep: 60
+ requests_version: 2.31.0
+ pyyaml_version: 6.0.1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INVENTREE_DB_ENGINE: sqlite3
@@ -63,12 +65,11 @@ jobs:
contains(github.event.pull_request.labels.*.name, 'dependency') ||
contains(github.event.pull_request.labels.*.name, 'full-run')
-
javascript:
name: Style - Classic UI [JS]
runs-on: ubuntu-20.04
- needs: [ 'pre-commit' ]
+ needs: ["pre-commit"]
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1
@@ -98,12 +99,12 @@ jobs:
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5.1.0
with:
python-version: ${{ env.python_version }}
- cache: 'pip'
+ cache: "pip"
- name: Run pre-commit Checks
uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # pin@v3.0.1
- name: Check Version
run: |
- pip install requests==2.31.0
+ pip install --require-hashes -r .github/requirements.txt
python3 .github/scripts/version_check.py
mkdocs:
@@ -121,7 +122,7 @@ jobs:
python-version: ${{ env.python_version }}
- name: Check Config
run: |
- pip install pyyaml==6.0.1
+ pip install --require-hashes -r .github/requirements.txt
pip install -r docs/requirements.txt
python docs/ci/check_mkdocs_config.py
- name: Check Links
@@ -129,8 +130,8 @@ jobs:
with:
folder-path: docs
config-file: docs/mlc_config.json
- check-modified-files-only: 'yes'
- use-quiet-mode: 'yes'
+ check-modified-files-only: "yes"
+ use-quiet-mode: "yes"
schema:
name: Tests - API Schema Documentation
@@ -167,7 +168,7 @@ jobs:
- name: Download public schema
if: needs.paths-filter.outputs.api == 'false'
run: |
- pip install requests==2.31.0 >/dev/null 2>&1
+ pip install --require-hashes -r .github/requirements.txt >/dev/null 2>&1
version="$(python3 .github/scripts/version_check.py only_version 2>&1)"
echo "Version: $version"
url="https://raw.githubusercontent.com/inventree/schema/main/export/${version}/api.yaml"
@@ -186,42 +187,42 @@ jobs:
id: version
if: github.ref == 'refs/heads/master' && needs.paths-filter.outputs.api == 'true'
run: |
- pip install requests==2.31.0 >/dev/null 2>&1
+ pip install --require-hashes -r .github/requirements.txt >/dev/null 2>&1
version="$(python3 .github/scripts/version_check.py only_version 2>&1)"
echo "Version: $version"
echo "version=$version" >> "$GITHUB_OUTPUT"
schema-push:
- name: Push new schema
- runs-on: ubuntu-20.04
- needs: [paths-filter, schema]
- if: needs.schema.result == 'success' && github.ref == 'refs/heads/master' && needs.paths-filter.outputs.api == 'true' && github.repository_owner == 'inventree'
- env:
- version: ${{ needs.schema.outputs.version }}
+ name: Push new schema
+ runs-on: ubuntu-20.04
+ needs: [paths-filter, schema]
+ if: needs.schema.result == 'success' && github.ref == 'refs/heads/master' && needs.paths-filter.outputs.api == 'true' && github.repository_owner == 'inventree'
+ env:
+ version: ${{ needs.schema.outputs.version }}
- steps:
- - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- with:
- repository: inventree/schema
- token: ${{ secrets.SCHEMA_PAT }}
- - name: Download schema artifact
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
- with:
- name: schema.yml
- - name: Move schema to correct location
- run: |
- echo "Version: $version"
- mkdir export/${version}
- mv schema.yml export/${version}/api.yaml
- - uses: stefanzweifel/git-auto-commit-action@8621497c8c39c72f3e2a999a26b4ca1b5058a842 # v5.0.1
- with:
- commit_message: "Update API schema for ${version}"
+ steps:
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+ with:
+ repository: inventree/schema
+ token: ${{ secrets.SCHEMA_PAT }}
+ - name: Download schema artifact
+ uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ with:
+ name: schema.yml
+ - name: Move schema to correct location
+ run: |
+ echo "Version: $version"
+ mkdir export/${version}
+ mv schema.yml export/${version}/api.yaml
+ - uses: stefanzweifel/git-auto-commit-action@8621497c8c39c72f3e2a999a26b4ca1b5058a842 # v5.0.1
+ with:
+ commit_message: "Update API schema for ${version}"
python:
name: Tests - inventree-python
runs-on: ubuntu-20.04
- needs: [ 'pre-commit', 'paths-filter' ]
+ needs: ["pre-commit", "paths-filter"]
if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true'
env:
@@ -263,7 +264,7 @@ jobs:
name: Tests - DB [SQLite] + Coverage
runs-on: ubuntu-20.04
- needs: [ 'pre-commit', 'paths-filter' ]
+ needs: ["pre-commit", "paths-filter"]
if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true'
continue-on-error: true # continue if a step fails so that coverage gets pushed
@@ -289,18 +290,8 @@ jobs:
run: python3 .github/scripts/check_migration_files.py
- name: Coverage Tests
run: invoke test --coverage
- - name: Upload Coverage Report to Coveralls
- if: always()
- uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949 # pin@v2.2.3
- with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- flag-name: backend
- file: coverage.xml
- git-commit: ${{ github.sha }}
- git-branch: ${{ github.ref }}
- parallel: true
- name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@v4.3.0
+ uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # pin@v4.3.0
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
@@ -310,14 +301,14 @@ jobs:
postgres:
name: Tests - DB [PostgreSQL]
runs-on: ubuntu-20.04
- needs: [ 'pre-commit', 'paths-filter' ]
+ needs: ["pre-commit", "paths-filter"]
if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true'
env:
INVENTREE_DB_ENGINE: django.db.backends.postgresql
INVENTREE_DB_USER: inventree
INVENTREE_DB_PASSWORD: password
- INVENTREE_DB_HOST: '127.0.0.1'
+ INVENTREE_DB_HOST: "127.0.0.1"
INVENTREE_DB_PORT: 5432
INVENTREE_DEBUG: info
INVENTREE_CACHE_HOST: localhost
@@ -355,7 +346,7 @@ jobs:
name: Tests - DB [MySQL]
runs-on: ubuntu-20.04
- needs: [ 'pre-commit', 'paths-filter' ]
+ needs: ["pre-commit", "paths-filter"]
if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true'
env:
@@ -363,7 +354,7 @@ jobs:
INVENTREE_DB_ENGINE: django.db.backends.mysql
INVENTREE_DB_USER: root
INVENTREE_DB_PASSWORD: password
- INVENTREE_DB_HOST: '127.0.0.1'
+ INVENTREE_DB_HOST: "127.0.0.1"
INVENTREE_DB_PORT: 3306
INVENTREE_DEBUG: info
INVENTREE_PLUGINS_ENABLED: true
@@ -406,7 +397,7 @@ jobs:
INVENTREE_DB_NAME: inventree
INVENTREE_DB_USER: inventree
INVENTREE_DB_PASSWORD: password
- INVENTREE_DB_HOST: '127.0.0.1'
+ INVENTREE_DB_HOST: "127.0.0.1"
INVENTREE_DB_PORT: 5432
INVENTREE_DEBUG: info
INVENTREE_PLUGINS_ENABLED: false
@@ -431,16 +422,8 @@ jobs:
update: true
- name: Run Tests
run: invoke test --migrations --report --coverage
- - name: Upload Coverage Report to Coveralls
- if: always()
- uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949 # pin@v2.2.3
- with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- flag-name: migrations
- git-commit: ${{ github.sha }}
- git-branch: ${{ github.ref }}
- name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@v4.3.0
+ uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # pin@v4.3.0
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
@@ -507,7 +490,7 @@ jobs:
name: Tests - Platform UI
runs-on: ubuntu-20.04
timeout-minutes: 60
- needs: [ 'pre-commit', 'paths-filter' ]
+ needs: ["pre-commit", "paths-filter"]
if: needs.paths-filter.outputs.frontend == 'true' || needs.paths-filter.outputs.force == 'true'
env:
INVENTREE_DB_ENGINE: sqlite3
@@ -535,7 +518,7 @@ jobs:
- name: Run Playwright tests
id: tests
run: cd src/frontend && npx nyc playwright test
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # pin@v4
if: ${{ !cancelled() && steps.tests.outcome == 'failure' }}
with:
name: playwright-report
@@ -544,17 +527,8 @@ jobs:
- name: Report coverage
if: always()
run: cd src/frontend && npx nyc report --report-dir ./coverage --temp-dir .nyc_output --reporter=lcov --exclude-after-remap false
- - name: Upload Coverage Report to Coveralls
- if: always()
- uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949 # pin@v2.2.3
- with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- flag-name: pui
- git-commit: ${{ github.sha }}
- git-branch: ${{ github.ref }}
- parallel: true
- name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@v4.3.0
+ uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # pin@v4.3.0
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
@@ -584,19 +558,3 @@ jobs:
with:
name: frontend-build
path: src/backend/InvenTree/web/static/web
-
- finish_coverage:
- name: Finish Coverage
- runs-on: ubuntu-20.04
- needs: ["platform_ui", "coverage", "migration-tests", "paths-filter"]
- if: (needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.frontend == 'true' || needs.paths-filter.outputs.force == 'true') && (needs.platform_ui.result == 'success' || needs.coverage.result == 'success' || needs.migration-tests.result == 'success')
-
- steps:
- - name: Finish coverage reporting
- uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949 # pin@v2.2.3
- with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- carryforward: "pui,backend,migrations"
- parallel-finished: true
- git-commit: ${{ github.sha }}
- git-branch: ${{ github.ref }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yaml
similarity index 94%
rename from .github/workflows/release.yml
rename to .github/workflows/release.yaml
index 4d16bdaac8..1a74ca3d68 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yaml
@@ -3,13 +3,12 @@
name: Publish release notes
on:
release:
- types: [ published ]
+ types: [published]
permissions:
contents: read
jobs:
-
stable:
runs-on: ubuntu-latest
env:
@@ -19,7 +18,7 @@ jobs:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1
- name: Version Check
run: |
- pip install requests==2.31.0
+ pip install --require-hashes -r .github/requirements.txt
python3 .github/scripts/version_check.py
- name: Push to Stable Branch
uses: ad-m/github-push-action@d91a481090679876dfc4178fef17f286781251df # pin@v0.8.0
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yaml
similarity index 98%
rename from .github/workflows/scorecard.yml
rename to .github/workflows/scorecard.yaml
index 2205ed9285..6db68c5d05 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yaml
@@ -10,9 +10,9 @@ on:
# To guarantee Maintained check is occasionally updated. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
schedule:
- - cron: '32 0 * * 0'
+ - cron: "32 0 * * 0"
push:
- branches: [ "master" ]
+ branches: ["master"]
# Declare default permissions as read only.
permissions: read-all
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yaml
similarity index 57%
rename from .github/workflows/stale.yml
rename to .github/workflows/stale.yaml
index e48c2bd014..e5c7962bf6 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yaml
@@ -3,14 +3,13 @@ name: Mark stale issues and pull requests
on:
schedule:
- - cron: '24 11 * * *'
+ - cron: "24 11 * * *"
permissions:
contents: read
jobs:
stale:
-
runs-on: ubuntu-latest
permissions:
issues: write
@@ -20,9 +19,9 @@ jobs:
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # pin@v9.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- stale-issue-message: 'This issue seems stale. Please react to show this is still important.'
- stale-pr-message: 'This PR seems stale. Please react to show this is still important.'
- stale-issue-label: 'inactive'
- stale-pr-label: 'inactive'
- start-date: '2022-01-01'
+ stale-issue-message: "This issue seems stale. Please react to show this is still important."
+ stale-pr-message: "This PR seems stale. Please react to show this is still important."
+ stale-issue-label: "inactive"
+ stale-pr-label: "inactive"
+ start-date: "2022-01-01"
exempt-all-milestones: true
diff --git a/.github/workflows/translations.yml b/.github/workflows/translations.yaml
similarity index 96%
rename from .github/workflows/translations.yml
rename to .github/workflows/translations.yaml
index b719fa8a67..c0438b60ea 100644
--- a/.github/workflows/translations.yml
+++ b/.github/workflows/translations.yaml
@@ -14,14 +14,13 @@ permissions:
jobs:
build:
-
runs-on: ubuntu-latest
permissions:
contents: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- INVENTREE_DB_NAME: './test_db.sqlite'
+ INVENTREE_DB_NAME: "./test_db.sqlite"
INVENTREE_DB_ENGINE: django.db.backends.sqlite3
INVENTREE_DEBUG: info
INVENTREE_MEDIA_ROOT: ./media
diff --git a/.github/workflows/update.yml.disabled b/.github/workflows/update.yml.disabled
index a3cecb147e..a9edddc6a3 100644
--- a/.github/workflows/update.yml.disabled
+++ b/.github/workflows/update.yml.disabled
@@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1
- name: Setup
- run: pip install -r requirements-dev.txt
+ run: pip install --require-hashes -r requirements-dev.txt
- name: Update requirements.txt
run: pip-compile --output-file=requirements.txt requirements.in -U
- name: Update requirements-dev.txt
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index c5e28450d3..0f8057da83 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -10,14 +10,14 @@ exclude: |
)$
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.5.0
+ rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: mixed-line-ending
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.3.5
+ rev: v0.4.1
hooks:
- id: ruff-format
args: [--preview]
@@ -27,16 +27,20 @@ repos:
--preview
]
- repo: https://github.com/astral-sh/uv-pre-commit
- rev: 0.1.29
+ rev: 0.1.35
hooks:
- id: pip-compile
name: pip-compile requirements-dev.in
- args: [src/backend/requirements-dev.in, -o, src/backend/requirements-dev.txt, --python-version=3.9, --no-strip-extras]
+ args: [src/backend/requirements-dev.in, -o, src/backend/requirements-dev.txt, --python-version=3.9, --no-strip-extras, --generate-hashes]
files: src/backend/requirements-dev\.(in|txt)$
- id: pip-compile
name: pip-compile requirements.txt
- args: [src/backend/requirements.in, -o, src/backend/requirements.txt,--python-version=3.9, --no-strip-extras]
+ args: [src/backend/requirements.in, -o, src/backend/requirements.txt,--python-version=3.9, --no-strip-extras,--generate-hashes]
files: src/backend/requirements\.(in|txt)$
+ - id: pip-compile
+ name: pip-compile requirements.txt
+ args: [.github/requirements.in, -o, .github/requirements.txt,--python-version=3.9, --no-strip-extras, --generate-hashes]
+ files: .github/requirements\.(in|txt)$
- repo: https://github.com/Riverside-Healthcare/djLint
rev: v1.34.1
hooks:
@@ -61,7 +65,7 @@ repos:
- "prettier@^2.4.1"
- "@trivago/prettier-plugin-sort-imports"
- repo: https://github.com/pre-commit/mirrors-eslint
- rev: "v9.0.0"
+ rev: "v9.1.0"
hooks:
- id: eslint
additional_dependencies:
diff --git a/README.md b/README.md
index 4d7b2e09c5..8c21973f35 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,6 @@
[](https://app.netlify.com/sites/inventree/deploys)
[](https://sonarcloud.io/summary/new_code?id=inventree_InvenTree)
-[](https://coveralls.io/github/inventree/InvenTree)
[](https://codecov.io/gh/inventree/InvenTree)
[](https://crowdin.com/project/inventree)

@@ -95,7 +94,7 @@ InvenTree is designed to be **extensible**, and provides multiple options for **
diff --git a/RELEASE.md b/RELEASE.md
index 44979fa0b2..f4370acbe3 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -4,7 +4,7 @@ Checklist of steps to perform at each code release
### Update Version String
-Update `INVENTREE_SW_VERSION` in [version.py](https://github.com/inventree/InvenTree/blob/master/InvenTree/InvenTree/version.py)
+Update `INVENTREE_SW_VERSION` in [version.py](https://github.com/inventree/InvenTree/blob/master/src/backend/InvenTree/InvenTree/version.py)
### Increment API Version
diff --git a/contrib/container/Dockerfile b/contrib/container/Dockerfile
index e5d49ee494..ac0338514b 100644
--- a/contrib/container/Dockerfile
+++ b/contrib/container/Dockerfile
@@ -97,7 +97,8 @@ FROM inventree_base AS prebuild
ENV PATH=/root/.local/bin:$PATH
RUN ./install_build_packages.sh --no-cache --virtual .build-deps && \
- pip install --user -r base_requirements.txt -r requirements.txt --no-cache && \
+ pip install --user -r base_requirements.txt --no-cache && \
+ pip install --user --require-hashes -r requirements.txt --no-cache && \
apk --purge del .build-deps
# Frontend builder image:
diff --git a/contrib/container/requirements.txt b/contrib/container/requirements.txt
index 8450c5251b..47968937a5 100644
--- a/contrib/container/requirements.txt
+++ b/contrib/container/requirements.txt
@@ -12,7 +12,7 @@ mysqlclient>=2.2.0
mariadb>=1.1.8
# gunicorn web server
-gunicorn>=21.2.0
+gunicorn>=22.0.0
# LDAP required packages
django-auth-ldap # Django integration for ldap auth
diff --git a/docs/README.md b/docs/README.md
index 989183c832..578afc13e8 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -12,8 +12,7 @@ Run the following commands from the top-level project directory:
```
$ git clone https://github.com/inventree/inventree
-$ cd inventree/docs
-$ pip install -r requirements.txt
+$ pip install -r docs/requirements.txt
```
## Serve Locally
diff --git a/docs/docs/assets/images/order/company_disable.png b/docs/docs/assets/images/order/company_disable.png
new file mode 100644
index 0000000000..2c3ab4f49f
Binary files /dev/null and b/docs/docs/assets/images/order/company_disable.png differ
diff --git a/docs/docs/assets/images/order/disable_supplier_part.png b/docs/docs/assets/images/order/disable_supplier_part.png
new file mode 100644
index 0000000000..a0e5f9bde8
Binary files /dev/null and b/docs/docs/assets/images/order/disable_supplier_part.png differ
diff --git a/docs/docs/assets/images/order/disable_supplier_part_edit.png b/docs/docs/assets/images/order/disable_supplier_part_edit.png
new file mode 100644
index 0000000000..2592f5ed91
Binary files /dev/null and b/docs/docs/assets/images/order/disable_supplier_part_edit.png differ
diff --git a/docs/docs/credits.md b/docs/docs/credits.md
index 91df5d8778..5dd87f374f 100644
--- a/docs/docs/credits.md
+++ b/docs/docs/credits.md
@@ -39,7 +39,6 @@ InvenTree relies on the following Python libraries:
| [flake8](https://pypi.org/project/flake8/) | MIT | style checking |
| [pep8-naming](https://pypi.org/project/pep8-naming/) | Expat | name checking |
| [coverage](https://pypi.org/project/coverage/) | Apache-2.0 | coverage checking |
-| [coveralls](https://pypi.org/project/coveralls/) | MIT | coverage uploader |
| [django-formtools](https://pypi.org/project/django-formtools/) | MIT | better forms / wizards |
| [django-allauth](https://pypi.org/project/django-allauth/) | MIT | SSO for django |
| [pint](https://pint.readthedocs.io/en/stable/) | [licence](https://github.com/hgrecco/pint/blob/master/LICENSE) | Physical unit conversion |
diff --git a/docs/docs/develop/contributing.md b/docs/docs/develop/contributing.md
index 12ed77faf7..06df11fabb 100644
--- a/docs/docs/develop/contributing.md
+++ b/docs/docs/develop/contributing.md
@@ -96,7 +96,7 @@ The HEAD of the "stable" branch represents the latest stable release code.
## API versioning
-The [API version](https://github.com/inventree/InvenTree/blob/master/InvenTree/InvenTree/api_version.py) needs to be bumped every time when the API is changed.
+The [API version](https://github.com/inventree/InvenTree/blob/master/src/backend/InvenTree/InvenTree/api_version.py) needs to be bumped every time when the API is changed.
## Environment
diff --git a/docs/docs/extend/plugins/urls.md b/docs/docs/extend/plugins/urls.md
index efa0ca8f7c..4931904d39 100644
--- a/docs/docs/extend/plugins/urls.md
+++ b/docs/docs/extend/plugins/urls.md
@@ -65,7 +65,7 @@ Additionally, add the following imports after the extended line.
#### Blocks
The page_base file is split into multiple sections called blocks. This allows you to implement sections of the webpage while getting many items like navbars, sidebars, and general layout provided for you.
-The current default page base can be found [here](https://github.com/inventree/InvenTree/blob/master/InvenTree/templates/page_base.html). Look through this file to determine overridable blocks. The [stock app](https://github.com/inventree/InvenTree/tree/master/InvenTree/stock) offers a great example of implementing these blocks.
+The current default page base can be found [here](https://github.com/inventree/InvenTree/blob/master/src/backend/InvenTree/templates/page_base.html). Look through this file to determine overridable blocks. The [stock app](https://github.com/inventree/InvenTree/tree/master/src/backend/InvenTree/stock) offers a great example of implementing these blocks.
!!! warning "Sidebar Block"
You may notice that implementing the `sidebar` block doesn't initially work. Be sure to enable the sidebar using JavaScript. This can be achieved by appending the following code, replacing `label` with a label of your choosing, to the end of your template file.
diff --git a/docs/docs/faq.md b/docs/docs/faq.md
index 86bdaa4d7f..d8b51ecac6 100644
--- a/docs/docs/faq.md
+++ b/docs/docs/faq.md
@@ -19,7 +19,7 @@ If the `invoke` command does not work, it means that the [invoke](https://pypi.o
Update the installed python packages with PIP:
```
-pip3 install -U -r requirements.txt
+pip3 install -U --require-hashes -r requirements.txt
```
### Invoke Version
diff --git a/docs/docs/order/company.md b/docs/docs/order/company.md
index c99994b867..3e4d821046 100644
--- a/docs/docs/order/company.md
+++ b/docs/docs/order/company.md
@@ -11,7 +11,7 @@ External companies are represented by the *Company* database model. Each company
- [Manufacturer](#manufacturers)
!!! tip Multi Purpose
- A company may be allocated to multiple categories
+ A company may be allocated to multiple categories, for example, a company may be both a supplier and a customer.
### Edit Company
@@ -20,6 +20,20 @@ To edit a company, click on the Edit Company ic
!!! warning "Permission Required"
The edit button will not be available to users who do not have the required permissions to edit the company
+### Disable Company
+
+Rather than deleting a company, it is possible to disable it. This will prevent the company from being used in new orders, but will not remove it from the database. Additionally, any existing orders associated with the company (and other linked items such as supplier parts, for a supplier) will remain intact. Unless the company is re-enabled, it will not be available for selection in new orders.
+
+It is recommended to disable a company rather than deleting it, as this will preserve the integrity of historical data.
+
+To disable a company, simply edit the company details and set the `active` attribute to `False`:
+
+{% with id="company_disable", url="order/company_disable.png", description="Disable Company" %}
+{% include "img.html" %}
+{% endwith %}
+
+To re-enable a company, simply follow the same process and set the `active` attribute to `True`.
+
### Delete Company
To delete a company, click on the icon under the actions menu. Confirm the deletion using the checkbox then click on Submit
@@ -193,6 +207,24 @@ To edit a supplier part, first access the supplier part detail page with one of
After the supplier part details are loaded, click on the icon next to the supplier part image. Edit the supplier part information then click on Submit
+#### Disable Supplier Part
+
+Supplier parts can be individually disabled - for example, if a supplier part is no longer available for purchase. By disabling the part in the InvenTree system, it will no longer be available for selection in new purchase orders. However, any existing purchase orders which reference the supplier part will remain intact.
+
+The "active" status of a supplier part is clearly visible within the user interface:
+
+{% with id="supplier_part_disable", url="order/disable_supplier_part.png", description="Disable Supplier Part" %}
+{% include "img.html" %}
+{% endwith %}
+
+To change the "active" status of a supplier part, simply edit the supplier part details and set the `active` attribute:
+
+{% with id="supplier_part_disable_edit", url="order/disable_supplier_part_edit.png", description="Disable Supplier Part" %}
+{% include "img.html" %}
+{% endwith %}
+
+It is recommended to disable a supplier part rather than deleting it, as this will preserve the integrity of historical data.
+
#### Delete Supplier Part
To delete a supplier part, first access the supplier part detail page like in the [Edit Supplier Part](#edit-supplier-part) section.
diff --git a/docs/docs/report/stock_location.md b/docs/docs/report/stock_location.md
index 27fb1b729b..e1712c06d9 100644
--- a/docs/docs/report/stock_location.md
+++ b/docs/docs/report/stock_location.md
@@ -13,4 +13,4 @@ You can use all content variables from the [StockLocation](./context_variables.m
A default report template is provided out of the box, which can be used as a starting point for developing custom return order report templates.
-View the [source code](https://github.com/inventree/InvenTree/blob/master/InvenTree/report/templates/report/inventree_slr_report.html) for the default stock location report template.
+View the [source code](https://github.com/inventree/InvenTree/blob/master/src/backend/InvenTree/report/templates/report/inventree_slr_report.html) for the default stock location report template.
diff --git a/docs/docs/security.md b/docs/docs/security.md
index 8208380f21..da6ddda0bb 100644
--- a/docs/docs/security.md
+++ b/docs/docs/security.md
@@ -37,7 +37,7 @@ InvenTree is built using the Django framework, which has a strong focus on secur
### Test coverage
-We run coverage tests on our codebase to ensure that we have a high level of test coverage above 90%. This is public and can be found [here](https://coveralls.io/github/inventree/InvenTree).
+We run coverage tests on our codebase to ensure that we have a high level of test coverage above 90%. This is public and can be found [here](https://app.codecov.io/gh/inventree/InvenTree).
### Pinning dependencies
diff --git a/docs/docs/start/backup.md b/docs/docs/start/backup.md
index 8cab613b4a..42178ce5e7 100644
--- a/docs/docs/start/backup.md
+++ b/docs/docs/start/backup.md
@@ -8,6 +8,9 @@ Backup functionality is provided natively using the [django-dbbackup library](ht
Note that a *backup* operation is not the same as [migrating data](./migrate.md). While data *migration* exports data into a database-agnostic JSON file, *backup* exports a native database file and media file archive.
+!!! warning "Database Version"
+ When performing backup and restore operations, it is *imperative* that you are running from the same installed version of InvenTree. Different InvenTree versions may have different database schemas, which render backup / restore operations incompatible.
+
## Configuration
The following configuration options are available for backup:
@@ -22,22 +25,31 @@ The following configuration options are available for backup:
If you want to use an external storage provider, extra configuration is required. As a starting point, refer to the [django-dbbackup documentation](https://django-dbbackup.readthedocs.io/en/master/storage.html).
-Specific storage configuration options are specified using the `backup_options` dict (in the [configuration file](./config.md)).
+Specific storage configuration options are specified using the `backup_options` dict (in the [configuration file](./config.md#backup-file-storage)).
## Perform Backup
#### Manual Backup
-To perform a manual backup operation, run the following command from the shell:
+To perform a basic manual backup operation, run the following command from the shell:
```
invoke backup
```
+This will perform backup operation with the default parameters. To see all available backup options, run:
+
+```
+invoke backup --help
+```
+
### Backup During Update
When performing an update of your InvenTree installation - via either [docker](./docker.md) or [bare metal](./install.md) - a backup operation is automatically performed.
+!!! info "Skip Backup Step"
+ You can opt to skip the backup step during the update process by adding the `--skip-backup` option.
+
### Daily Backup
If desired, InvenTree can be configured to perform automated daily backups. The run-time setting to control this is found in the *Server Configuration* tab.
@@ -56,3 +68,16 @@ To restore from a previous backup, run the following command from the shell (wit
```
invoke restore
```
+
+To see all available options for restore, run:
+
+```
+invoke restore --help
+```
+
+## Advanced Usage
+
+Not all functionality of the db-backup library is exposed by default. For advanced usage (not covered by the documentation above), refer to the [django-dbbackup commands documentation](https://django-dbbackup.readthedocs.io/en/master/commands.html).
+
+!!! warning "Advanced Users Only"
+ Any advanced usage assumes some underlying knowledge of django, and is not documented here.
diff --git a/docs/docs/start/docker_install.md b/docs/docs/start/docker_install.md
index 36cd804c76..099588d6b7 100644
--- a/docs/docs/start/docker_install.md
+++ b/docs/docs/start/docker_install.md
@@ -31,9 +31,9 @@ The following files required for this setup are provided with the InvenTree sour
| Filename | Description |
| --- | --- |
-| [docker-compose.yml](https://github.com/inventree/InvenTree/blob/master/contrib/container/docker-compose.yml) | The docker compose script |
-| [.env](https://github.com/inventree/InvenTree/blob/master/contrib/container/.env) | Environment variables |
-| [Caddyfile](https://github.com/inventree/InvenTree/blob/master/contrib/container/Caddyfile) | Caddy configuration file |
+| [docker-compose.yml](https://raw.githubusercontent.com/inventree/InvenTree/master/contrib/container/docker-compose.yml)| The docker compose script |
+| [.env](https://raw.githubusercontent.com/inventree/InvenTree/master/contrib/container/.env) | Environment variables |
+| [Caddyfile](https://raw.githubusercontent.com/inventree/InvenTree/master/contrib/container/Caddyfile) | Caddy configuration file |
Download these files to a directory on your local machine.
diff --git a/src/backend/.eslintrc.yml b/src/backend/.eslintrc.yml
deleted file mode 100644
index 9da6c9055a..0000000000
--- a/src/backend/.eslintrc.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-env:
- commonjs: false
- browser: true
- es2021: true
- jquery: true
-extends:
- - eslint:recommended
-parserOptions:
- ecmaVersion: 12
-rules:
- no-var: off
- guard-for-in: off
- no-trailing-spaces: off
- camelcase: off
- padded-blocks: off
- prefer-const: off
- max-len: off
- require-jsdoc: off
- valid-jsdoc: off
- no-multiple-empty-lines: off
- comma-dangle: off
- no-unused-vars: off
- no-useless-escape: off
- prefer-spread: off
- indent:
- - error
- - 4
diff --git a/src/backend/InvenTree/InvenTree/api_version.py b/src/backend/InvenTree/InvenTree/api_version.py
index c6edfc2d96..5f43e0305c 100644
--- a/src/backend/InvenTree/InvenTree/api_version.py
+++ b/src/backend/InvenTree/InvenTree/api_version.py
@@ -1,12 +1,29 @@
"""InvenTree API version information."""
# InvenTree API version
-INVENTREE_API_VERSION = 187
+INVENTREE_API_VERSION = 192
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
INVENTREE_API_TEXT = """
-v187 - 2024-03-10 : https://github.com/inventree/InvenTree/pull/6985
+v192 - 2024-04-23 : https://github.com/inventree/InvenTree/pull/7106
+ - Adds 'trackable' ordering option to BuildLineLabel API endpoint
+
+v191 - 2024-04-22 : https://github.com/inventree/InvenTree/pull/7079
+ - Adds API endpoints for Contenttype model
+
+v190 - 2024-04-19 : https://github.com/inventree/InvenTree/pull/7024
+ - Adds "active" field to the Company API endpoints
+ - Allow company list to be filtered by "active" status
+
+v189 - 2024-04-19 : https://github.com/inventree/InvenTree/pull/7066
+ - Adds "currency" field to CompanyBriefSerializer class
+
+v188 - 2024-04-16 : https://github.com/inventree/InvenTree/pull/6970
+ - Adds session authentication support for the API
+ - Improvements for login / logout endpoints for better support of React web interface
+
+v187 - 2024-04-10 : https://github.com/inventree/InvenTree/pull/6985
- Allow Part list endpoint to be sorted by pricing_min and pricing_max values
- Allow BomItem list endpoint to be sorted by pricing_min and pricing_max values
- Allow InternalPrice and SalePrice endpoints to be sorted by quantity
diff --git a/src/backend/InvenTree/InvenTree/metadata.py b/src/backend/InvenTree/InvenTree/metadata.py
index 65097ed758..9811a41d7c 100644
--- a/src/backend/InvenTree/InvenTree/metadata.py
+++ b/src/backend/InvenTree/InvenTree/metadata.py
@@ -280,6 +280,8 @@ class InvenTreeMetadata(SimpleMetadata):
# Special case for 'user' model
if field_info['model'] == 'user':
field_info['api_url'] = '/api/user/'
+ elif field_info['model'] == 'contenttype':
+ field_info['api_url'] = '/api/contenttype/'
else:
field_info['api_url'] = model.get_api_url()
diff --git a/src/backend/InvenTree/InvenTree/settings.py b/src/backend/InvenTree/InvenTree/settings.py
index bd60fdf598..7bda362b49 100644
--- a/src/backend/InvenTree/InvenTree/settings.py
+++ b/src/backend/InvenTree/InvenTree/settings.py
@@ -492,10 +492,18 @@ if DEBUG:
'rest_framework.renderers.BrowsableAPIRenderer'
)
-# dj-rest-auth
# JWT switch
USE_JWT = get_boolean_setting('INVENTREE_USE_JWT', 'use_jwt', False)
REST_USE_JWT = USE_JWT
+
+# dj-rest-auth
+REST_AUTH = {
+ 'SESSION_LOGIN': True,
+ 'TOKEN_MODEL': 'users.models.ApiToken',
+ 'TOKEN_CREATOR': 'users.models.default_create_token',
+ 'USE_JWT': USE_JWT,
+}
+
OLD_PASSWORD_FIELD_ENABLED = True
REST_AUTH_REGISTER_SERIALIZERS = {
'REGISTER_SERIALIZER': 'InvenTree.forms.CustomRegisterSerializer'
@@ -510,6 +518,7 @@ if USE_JWT:
)
INSTALLED_APPS.append('rest_framework_simplejwt')
+
# WSGI default setting
WSGI_APPLICATION = 'InvenTree.wsgi.application'
@@ -1078,20 +1087,30 @@ CSRF_TRUSTED_ORIGINS = get_setting(
if SITE_URL and SITE_URL not in CSRF_TRUSTED_ORIGINS:
CSRF_TRUSTED_ORIGINS.append(SITE_URL)
-if not TESTING and len(CSRF_TRUSTED_ORIGINS) == 0:
- if DEBUG:
- logger.warning(
- 'No CSRF_TRUSTED_ORIGINS specified. Defaulting to http://* for debug mode. This is not recommended for production use'
- )
- CSRF_TRUSTED_ORIGINS = ['http://*']
+if DEBUG:
+ for origin in [
+ 'http://localhost',
+ 'http://*.localhost' 'http://*localhost:8000',
+ 'http://*localhost:5173',
+ ]:
+ if origin not in CSRF_TRUSTED_ORIGINS:
+ CSRF_TRUSTED_ORIGINS.append(origin)
- elif isInMainThread():
+if not TESTING and len(CSRF_TRUSTED_ORIGINS) == 0:
+ if isInMainThread():
# Server thread cannot run without CSRF_TRUSTED_ORIGINS
logger.error(
'No CSRF_TRUSTED_ORIGINS specified. Please provide a list of trusted origins, or specify INVENTREE_SITE_URL'
)
sys.exit(-1)
+# Additional CSRF settings
+CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
+CSRF_COOKIE_NAME = 'csrftoken'
+CSRF_COOKIE_SAMESITE = 'Lax'
+SESSION_COOKIE_SECURE = True
+SESSION_COOKIE_SAMESITE = 'Lax'
+
USE_X_FORWARDED_HOST = get_boolean_setting(
'INVENTREE_USE_X_FORWARDED_HOST',
config_key='use_x_forwarded_host',
diff --git a/src/backend/InvenTree/InvenTree/urls.py b/src/backend/InvenTree/InvenTree/urls.py
index c71f567206..ab3dc008a2 100644
--- a/src/backend/InvenTree/InvenTree/urls.py
+++ b/src/backend/InvenTree/InvenTree/urls.py
@@ -160,6 +160,7 @@ apipatterns = [
SocialAccountDisconnectView.as_view(),
name='social_account_disconnect',
),
+ path('login/', users.api.Login.as_view(), name='api-login'),
path('logout/', users.api.Logout.as_view(), name='api-logout'),
path(
'login-redirect/',
diff --git a/src/backend/InvenTree/build/api.py b/src/backend/InvenTree/build/api.py
index 97ead63494..e6e6267fe2 100644
--- a/src/backend/InvenTree/build/api.py
+++ b/src/backend/InvenTree/build/api.py
@@ -349,6 +349,7 @@ class BuildLineList(BuildLineEndpoint, ListCreateAPI):
'optional',
'unit_quantity',
'available_stock',
+ 'trackable',
]
ordering_field_aliases = {
@@ -357,6 +358,7 @@ class BuildLineList(BuildLineEndpoint, ListCreateAPI):
'unit_quantity': 'bom_item__quantity',
'consumable': 'bom_item__consumable',
'optional': 'bom_item__optional',
+ 'trackable': 'bom_item__sub_part__trackable',
}
search_fields = [
diff --git a/src/backend/InvenTree/common/api.py b/src/backend/InvenTree/common/api.py
index 50f6361e0b..bba5ac766b 100644
--- a/src/backend/InvenTree/common/api.py
+++ b/src/backend/InvenTree/common/api.py
@@ -3,6 +3,7 @@
import json
from django.conf import settings
+from django.contrib.contenttypes.models import ContentType
from django.http.response import HttpResponse
from django.urls import include, path, re_path
from django.utils.decorators import method_decorator
@@ -619,6 +620,38 @@ class FlagDetail(RetrieveAPI):
return {key: value}
+class ContentTypeList(ListAPI):
+ """List view for ContentTypes."""
+
+ queryset = ContentType.objects.all()
+ serializer_class = common.serializers.ContentTypeSerializer
+ permission_classes = [permissions.IsAuthenticated]
+
+
+class ContentTypeDetail(RetrieveAPI):
+ """Detail view for a ContentType model."""
+
+ queryset = ContentType.objects.all()
+ serializer_class = common.serializers.ContentTypeSerializer
+ permission_classes = [permissions.IsAuthenticated]
+
+
+@extend_schema(operation_id='contenttype_retrieve_model')
+class ContentTypeModelDetail(ContentTypeDetail):
+ """Detail view for a ContentType model."""
+
+ def get_object(self):
+ """Attempt to find a ContentType object with the provided key."""
+ model_ref = self.kwargs.get('model', None)
+ if model_ref:
+ qs = self.filter_queryset(self.get_queryset())
+ try:
+ return qs.get(model=model_ref)
+ except ContentType.DoesNotExist:
+ raise NotFound()
+ raise NotFound()
+
+
settings_api_urls = [
# User settings
path(
@@ -799,6 +832,21 @@ common_api_urls = [
path('', AllStatusViews.as_view(), name='api-status-all'),
]),
),
+ # Contenttype
+ path(
+ 'contenttype/',
+ include([
+ path(
+ '/', ContentTypeDetail.as_view(), name='api-contenttype-detail'
+ ),
+ path(
+ '/',
+ ContentTypeModelDetail.as_view(),
+ name='api-contenttype-detail-modelname',
+ ),
+ path('', ContentTypeList.as_view(), name='api-contenttype-list'),
+ ]),
+ ),
]
admin_api_urls = [
diff --git a/src/backend/InvenTree/common/serializers.py b/src/backend/InvenTree/common/serializers.py
index 360794d8a5..5bc1759d9a 100644
--- a/src/backend/InvenTree/common/serializers.py
+++ b/src/backend/InvenTree/common/serializers.py
@@ -1,5 +1,6 @@
"""JSON serializers for common components."""
+from django.contrib.contenttypes.models import ContentType
from django.db.models import OuterRef, Subquery
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
@@ -16,6 +17,7 @@ from InvenTree.serializers import (
InvenTreeImageSerializerField,
InvenTreeModelSerializer,
)
+from plugin import registry as plugin_registry
from users.serializers import OwnerSerializer
@@ -303,6 +305,26 @@ class FlagSerializer(serializers.Serializer):
return data
+class ContentTypeSerializer(serializers.Serializer):
+ """Serializer for ContentType models."""
+
+ pk = serializers.IntegerField(read_only=True)
+ app_label = serializers.CharField(read_only=True)
+ model = serializers.CharField(read_only=True)
+ app_labeled_name = serializers.CharField(read_only=True)
+ is_plugin = serializers.SerializerMethodField('get_is_plugin', read_only=True)
+
+ class Meta:
+ """Meta options for ContentTypeSerializer."""
+
+ model = ContentType
+ fields = ['pk', 'app_label', 'model', 'app_labeled_name', 'is_plugin']
+
+ def get_is_plugin(self, obj) -> bool:
+ """Return True if the model is a plugin model."""
+ return obj.app_label in plugin_registry.installed_apps
+
+
class CustomUnitSerializer(InvenTreeModelSerializer):
"""DRF serializer for CustomUnit model."""
diff --git a/src/backend/InvenTree/common/tests.py b/src/backend/InvenTree/common/tests.py
index a45a7ad1f6..6a5b26766d 100644
--- a/src/backend/InvenTree/common/tests.py
+++ b/src/backend/InvenTree/common/tests.py
@@ -8,6 +8,7 @@ from http import HTTPStatus
from unittest import mock
from django.contrib.auth import get_user_model
+from django.contrib.contenttypes.models import ContentType
from django.core.cache import cache
from django.core.exceptions import ValidationError
from django.core.files.uploadedfile import SimpleUploadedFile
@@ -1339,3 +1340,46 @@ class CustomUnitAPITest(InvenTreeAPITestCase):
for name in invalid_name_values:
self.patch(url, {'name': name}, expected_code=400)
+
+
+class ContentTypeAPITest(InvenTreeAPITestCase):
+ """Unit tests for the ContentType API."""
+
+ def test_list(self):
+ """Test API list functionality."""
+ response = self.get(reverse('api-contenttype-list'), expected_code=200)
+ self.assertEqual(len(response.data), ContentType.objects.count())
+
+ def test_detail(self):
+ """Test API detail functionality."""
+ ct = ContentType.objects.first()
+ assert ct
+
+ response = self.get(
+ reverse('api-contenttype-detail', kwargs={'pk': ct.pk}), expected_code=200
+ )
+
+ self.assertEqual(response.data['app_label'], ct.app_label)
+ self.assertEqual(response.data['model'], ct.model)
+
+ # Test with model name
+ response = self.get(
+ reverse('api-contenttype-detail-modelname', kwargs={'model': ct.model}),
+ expected_code=200,
+ )
+ self.assertEqual(response.data['app_label'], ct.app_label)
+ self.assertEqual(response.data['model'], ct.model)
+
+ # Test non-existent model
+ self.get(
+ reverse(
+ 'api-contenttype-detail-modelname', kwargs={'model': 'nonexistent'}
+ ),
+ expected_code=404,
+ )
+
+ # PK should not work on model name endpoint
+ self.get(
+ reverse('api-contenttype-detail-modelname', kwargs={'model': None}),
+ expected_code=404,
+ )
diff --git a/src/backend/InvenTree/common/views.py b/src/backend/InvenTree/common/views.py
index 3d9cd53c22..8f1fbe0e40 100644
--- a/src/backend/InvenTree/common/views.py
+++ b/src/backend/InvenTree/common/views.py
@@ -269,7 +269,7 @@ class FileManagementFormView(MultiStepFormView):
for idx, item in row_data.items():
column_data = {
'name': self.column_names[idx],
- 'guess': self.column_selections[idx],
+ 'guess': self.column_selections.get(idx, ''),
}
cell_data = {'cell': item, 'idx': idx, 'column': column_data}
diff --git a/src/backend/InvenTree/company/api.py b/src/backend/InvenTree/company/api.py
index 88b2c640bd..aea8d5dc5e 100644
--- a/src/backend/InvenTree/company/api.py
+++ b/src/backend/InvenTree/company/api.py
@@ -2,6 +2,7 @@
from django.db.models import Q
from django.urls import include, path, re_path
+from django.utils.translation import gettext_lazy as _
from django_filters import rest_framework as rest_filters
@@ -58,11 +59,17 @@ class CompanyList(ListCreateAPI):
filter_backends = SEARCH_ORDER_FILTER
- filterset_fields = ['is_customer', 'is_manufacturer', 'is_supplier', 'name']
+ filterset_fields = [
+ 'is_customer',
+ 'is_manufacturer',
+ 'is_supplier',
+ 'name',
+ 'active',
+ ]
search_fields = ['name', 'description', 'website']
- ordering_fields = ['name', 'parts_supplied', 'parts_manufactured']
+ ordering_fields = ['active', 'name', 'parts_supplied', 'parts_manufactured']
ordering = 'name'
@@ -153,7 +160,13 @@ class ManufacturerPartFilter(rest_filters.FilterSet):
fields = ['manufacturer', 'MPN', 'part', 'tags__name', 'tags__slug']
# Filter by 'active' status of linked part
- active = rest_filters.BooleanFilter(field_name='part__active')
+ part_active = rest_filters.BooleanFilter(
+ field_name='part__active', label=_('Part is Active')
+ )
+
+ manufacturer_active = rest_filters.BooleanFilter(
+ field_name='manufacturer__active', label=_('Manufacturer is Active')
+ )
class ManufacturerPartList(ListCreateDestroyAPIView):
@@ -301,8 +314,16 @@ class SupplierPartFilter(rest_filters.FilterSet):
'tags__slug',
]
+ active = rest_filters.BooleanFilter(label=_('Supplier Part is Active'))
+
# Filter by 'active' status of linked part
- active = rest_filters.BooleanFilter(field_name='part__active')
+ part_active = rest_filters.BooleanFilter(
+ field_name='part__active', label=_('Internal Part is Active')
+ )
+
+ supplier_active = rest_filters.BooleanFilter(
+ field_name='supplier__active', label=_('Supplier is Active')
+ )
# Filter by the 'MPN' of linked manufacturer part
MPN = rest_filters.CharFilter(
@@ -378,6 +399,7 @@ class SupplierPartList(ListCreateDestroyAPIView):
'part',
'supplier',
'manufacturer',
+ 'active',
'MPN',
'packaging',
'pack_quantity',
diff --git a/src/backend/InvenTree/company/migrations/0069_company_active.py b/src/backend/InvenTree/company/migrations/0069_company_active.py
new file mode 100644
index 0000000000..120046f6fc
--- /dev/null
+++ b/src/backend/InvenTree/company/migrations/0069_company_active.py
@@ -0,0 +1,23 @@
+# Generated by Django 4.2.11 on 2024-04-15 14:42
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('company', '0068_auto_20231120_1108'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='company',
+ name='active',
+ field=models.BooleanField(default=True, help_text='Is this company active?', verbose_name='Active'),
+ ),
+ migrations.AddField(
+ model_name='supplierpart',
+ name='active',
+ field=models.BooleanField(default=True, help_text='Is this supplier part active?', verbose_name='Active'),
+ ),
+ ]
diff --git a/src/backend/InvenTree/company/models.py b/src/backend/InvenTree/company/models.py
index dc21dc62b1..b891b5b065 100644
--- a/src/backend/InvenTree/company/models.py
+++ b/src/backend/InvenTree/company/models.py
@@ -81,6 +81,7 @@ class Company(
link: Secondary URL e.g. for link to internal Wiki page
image: Company image / logo
notes: Extra notes about the company
+ active: boolean value, is this company active
is_customer: boolean value, is this company a customer
is_supplier: boolean value, is this company a supplier
is_manufacturer: boolean value, is this company a manufacturer
@@ -155,6 +156,10 @@ class Company(
verbose_name=_('Image'),
)
+ active = models.BooleanField(
+ default=True, verbose_name=_('Active'), help_text=_('Is this company active?')
+ )
+
is_customer = models.BooleanField(
default=False,
verbose_name=_('is customer'),
@@ -654,6 +659,7 @@ class SupplierPart(
part: Link to the master Part (Obsolete)
source_item: The sourcing item linked to this SupplierPart instance
supplier: Company that supplies this SupplierPart object
+ active: Boolean value, is this supplier part active
SKU: Stock keeping unit (supplier part number)
link: Link to external website for this supplier part
description: Descriptive notes field
@@ -802,6 +808,12 @@ class SupplierPart(
help_text=_('Supplier stock keeping unit'),
)
+ active = models.BooleanField(
+ default=True,
+ verbose_name=_('Active'),
+ help_text=_('Is this supplier part active?'),
+ )
+
manufacturer_part = models.ForeignKey(
ManufacturerPart,
on_delete=models.CASCADE,
diff --git a/src/backend/InvenTree/company/serializers.py b/src/backend/InvenTree/company/serializers.py
index f94333aca8..e329ea44e6 100644
--- a/src/backend/InvenTree/company/serializers.py
+++ b/src/backend/InvenTree/company/serializers.py
@@ -42,9 +42,16 @@ class CompanyBriefSerializer(InvenTreeModelSerializer):
"""Metaclass options."""
model = Company
- fields = ['pk', 'url', 'name', 'description', 'image', 'thumbnail']
-
- url = serializers.CharField(source='get_absolute_url', read_only=True)
+ fields = [
+ 'pk',
+ 'active',
+ 'name',
+ 'description',
+ 'image',
+ 'thumbnail',
+ 'currency',
+ ]
+ read_only_fields = ['currency']
image = InvenTreeImageSerializerField(read_only=True)
@@ -116,6 +123,7 @@ class CompanySerializer(RemoteImageMixin, InvenTreeModelSerializer):
'contact',
'link',
'image',
+ 'active',
'is_customer',
'is_manufacturer',
'is_supplier',
@@ -306,6 +314,7 @@ class SupplierPartSerializer(InvenTreeTagModelSerializer):
'description',
'in_stock',
'link',
+ 'active',
'manufacturer',
'manufacturer_detail',
'manufacturer_part',
@@ -369,8 +378,9 @@ class SupplierPartSerializer(InvenTreeTagModelSerializer):
self.fields.pop('pretty_name')
# Annotated field showing total in-stock quantity
- in_stock = serializers.FloatField(read_only=True)
- available = serializers.FloatField(required=False)
+ in_stock = serializers.FloatField(read_only=True, label=_('In Stock'))
+
+ available = serializers.FloatField(required=False, label=_('Available'))
pack_quantity_native = serializers.FloatField(read_only=True)
diff --git a/src/backend/InvenTree/company/templates/company/company_base.html b/src/backend/InvenTree/company/templates/company/company_base.html
index 87f8cf10c9..c7c7efde12 100644
--- a/src/backend/InvenTree/company/templates/company/company_base.html
+++ b/src/backend/InvenTree/company/templates/company/company_base.html
@@ -10,6 +10,12 @@
{% block heading %}
{% trans "Company" %}: {{ company.name }}
+{% if not company.active %}
+
+
+ {% trans 'Inactive' %}
+
+{% endif %}
{% endblock heading %}
{% block actions %}
diff --git a/src/backend/InvenTree/company/test_api.py b/src/backend/InvenTree/company/test_api.py
index dcb8dc81dc..332292ca3c 100644
--- a/src/backend/InvenTree/company/test_api.py
+++ b/src/backend/InvenTree/company/test_api.py
@@ -5,6 +5,7 @@ from django.urls import reverse
from rest_framework import status
from InvenTree.unit_test import InvenTreeAPITestCase
+from part.models import Part
from .models import Address, Company, Contact, ManufacturerPart, SupplierPart
@@ -131,6 +132,32 @@ class CompanyTest(InvenTreeAPITestCase):
self.assertTrue('currency' in response.data)
+ def test_company_active(self):
+ """Test that the 'active' value and filter works."""
+ Company.objects.filter(active=False).update(active=True)
+ n = Company.objects.count()
+
+ url = reverse('api-company-list')
+
+ self.assertEqual(
+ len(self.get(url, data={'active': True}, expected_code=200).data), n
+ )
+ self.assertEqual(
+ len(self.get(url, data={'active': False}, expected_code=200).data), 0
+ )
+
+ # Set one company to inactive
+ c = Company.objects.first()
+ c.active = False
+ c.save()
+
+ self.assertEqual(
+ len(self.get(url, data={'active': True}, expected_code=200).data), n - 1
+ )
+ self.assertEqual(
+ len(self.get(url, data={'active': False}, expected_code=200).data), 1
+ )
+
class ContactTest(InvenTreeAPITestCase):
"""Tests for the Contact models."""
@@ -528,6 +555,50 @@ class SupplierPartTest(InvenTreeAPITestCase):
self.assertEqual(sp.available, 999)
self.assertIsNotNone(sp.availability_updated)
+ def test_active(self):
+ """Test that 'active' status filtering works correctly."""
+ url = reverse('api-supplier-part-list')
+
+ # Create a new company, which is inactive
+ company = Company.objects.create(
+ name='Inactive Company', is_supplier=True, active=False
+ )
+
+ part = Part.objects.filter(purchaseable=True).first()
+
+ # Create some new supplier part objects, *some* of which are inactive
+ for idx in range(10):
+ SupplierPart.objects.create(
+ part=part,
+ supplier=company,
+ SKU=f'CMP-{company.pk}-SKU-{idx}',
+ active=(idx % 2 == 0),
+ )
+
+ n = SupplierPart.objects.count()
+
+ # List *all* supplier parts
+ self.assertEqual(len(self.get(url, data={}, expected_code=200).data), n)
+
+ # List only active supplier parts (all except 5 from the new supplier)
+ self.assertEqual(
+ len(self.get(url, data={'active': True}, expected_code=200).data), n - 5
+ )
+
+ # List only from 'active' suppliers (all except this new supplier)
+ self.assertEqual(
+ len(self.get(url, data={'supplier_active': True}, expected_code=200).data),
+ n - 10,
+ )
+
+ # List active parts from inactive suppliers (only 5 from the new supplier)
+ response = self.get(
+ url, data={'supplier_active': False, 'active': True}, expected_code=200
+ )
+ self.assertEqual(len(response.data), 5)
+ for result in response.data:
+ self.assertEqual(result['supplier'], company.pk)
+
class CompanyMetadataAPITest(InvenTreeAPITestCase):
"""Unit tests for the various metadata endpoints of API."""
diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po
index 73496703eb..9cb1f78708 100644
--- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
@@ -58,7 +58,7 @@ msgstr "Въведи дата"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Въведи дата"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Китайски (традиционен)"
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Потребител"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Цялостна наличност"
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr "Място в склада"
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "Места в склада"
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po
index ad9b0b9087..e846bd6b8d 100644
--- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -58,7 +58,7 @@ msgstr "Zadejte datum"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Zadejte datum"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Čínština (tradiční)"
msgid "[{site_name}] Log in to the app"
msgstr "[{site_name}] Přihlásit se do aplikace"
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "E-mail"
@@ -405,14 +405,14 @@ msgstr "Příloha"
msgid "Select file to attach"
msgstr "Vyberte soubor k přiložení"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Komentář k souboru"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Uživatel"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Neplatný výběr"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Neplatný výběr"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Název"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Název"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Server zaznamenal chybu."
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URL souboru vzdáleného obrázku"
msgid "Downloading images from remote URL is not enabled"
msgstr "Stahování obrázků ze vzdálené URL není povoleno"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Kontrola procesů na pozadí se nezdařila"
@@ -740,7 +740,7 @@ msgstr "Odesláno"
#: InvenTree/status_codes.py:62
msgid "OK"
-msgstr ""
+msgstr "OK"
#: InvenTree/status_codes.py:63
msgid "Attention needed"
@@ -970,7 +970,7 @@ msgstr "Sledováno"
msgid "Allocated"
msgstr "Přiděleno"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Vytvořit objednávku"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Vytvořené objednávky"
@@ -1034,7 +1034,7 @@ msgstr "Referenční číslo objednávky"
#: templates/js/translated/return_order.js:729
#: templates/js/translated/sales_order.js:1818
msgid "Reference"
-msgstr ""
+msgstr "Reference"
#: build/models.py:191
msgid "Brief description of the build (optional)"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Příkaz sestavení pro který je toto sestavení přiděleno"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Uživatel nebo skupina odpovědná za tento příkaz k sestavení"
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Externí odkaz"
@@ -1273,7 +1273,7 @@ msgstr "Výstup sestavení neodpovídá příkazu sestavení"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Množství musí být vyšší než nula"
@@ -1315,7 +1315,7 @@ msgstr "Vytvořit objekt"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1411,27 +1411,27 @@ msgstr "Vytvořený výstup neodpovídá nadřazenému sestavení"
#: build/serializers.py:176
msgid "Output part does not match BuildOrder part"
-msgstr ""
+msgstr "Výstupní část se neshoduje s částí příkazu sestavení"
#: build/serializers.py:180
msgid "This build output has already been completed"
-msgstr ""
+msgstr "Výstup sestavení je již dokončen"
#: build/serializers.py:191
msgid "This build output is not fully allocated"
-msgstr ""
+msgstr "Tento stavební výstup není plně přiřazen"
#: build/serializers.py:211 build/serializers.py:248
msgid "Enter quantity for build output"
-msgstr ""
+msgstr "Zadejte množství pro výstup sestavení"
#: build/serializers.py:269
msgid "Integer quantity required for trackable parts"
-msgstr ""
+msgstr "Celé množství požadované pro sledovatelné díly"
#: build/serializers.py:272
msgid "Integer quantity required, as the bill of materials contains trackable parts"
-msgstr ""
+msgstr "Je vyžadována celočíselná hodnota množství, protože kusovník obsahuje sledovatelné díly"
#: build/serializers.py:287 order/serializers.py:585 order/serializers.py:1339
#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Jméno společnosti"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "Webová stránka"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "Webové stránky společnosti"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Telefonní číslo"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "Kontaktní telefonní číslo"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "Kontaktní e-mailová adresa"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr "Kontaktní místo"
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "je zákazník"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Společnost"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr "Základní díl"
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "Zvolte díl"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Výrobce"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Vyberte výrobce"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Číslo dílu výrobce"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr "Popis dílu výrobce"
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "Výrobce dílu"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "Název parametru"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Hodnota"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "Hodnota parametru"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "Jednotky"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
-msgstr ""
+msgstr "Dodavatel"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4156,29 +4186,29 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:32
#: stock/serializers.py:579
msgid "Note"
-msgstr ""
+msgstr "Poznámka"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "Upravit údaje o společnosti"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Upravit společnost"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Odstranit společnost"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Odstranit společnost"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Odstranit společnost"
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Nahrát nový obrázek"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Stáhnout obrázek z URL"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr "Smazat obrázek"
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Zákazník"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Adresa"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Telefon"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr "Odstranit"
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr "Dodavatelský sklad"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Zakoupené objednávky"
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "Objednávka dílů"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Díly"
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr "IPN dílu"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr "Kategorie dílu"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Kategorie dílů"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Aktualizovat díly"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Aktualizovat cenu pro díl"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7274,7 +7328,7 @@ msgstr ""
#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17
#: report/templates/report/inventree_bill_of_materials_report.html:100
msgid "Bill of Materials"
-msgstr ""
+msgstr "Kusovník"
#: part/templates/part/detail.html:260
msgid "Export actions"
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Odstranit"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr "Oprávnění"
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "Nastavení oprávnění"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Skupina"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Zobrazit"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Oprávnění k zobrazení položek"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Oprávnění přidat položky"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Změnit"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Oprávnění k úpravě položek"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Oprávnění k odstranění položek"
diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po
index 202408fea9..25c8b552c6 100644
--- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -58,7 +58,7 @@ msgstr "Angiv dato"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Angiv dato"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Kinesisk (traditionelt)"
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "E-mail"
@@ -405,14 +405,14 @@ msgstr "Vedhæftning"
msgid "Select file to attach"
msgstr "Vælg fil, der skal vedhæftes"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Fil kommentar"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Bruger"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Ugyldigt valg"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Ugyldigt valg"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Navn"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Navn"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "En fejl blev logget af serveren."
msgid "Must be a valid number"
msgstr "Skal være et gyldigt tal"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URL til ekstern billedfil"
msgid "Downloading images from remote URL is not enabled"
msgstr "Download af billeder fra ekstern URL er ikke aktiveret"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Kontrol af baggrundstjeneste mislykkedes"
@@ -970,7 +970,7 @@ msgstr "Sporet"
msgid "Allocated"
msgstr "Allokeret"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Produktionsordre"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Produktionsordrer"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produktionsordre som er tildelt denne produktion"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Produktionsordre som er tildelt denne produktion"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre"
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Ekstern link"
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po
index 464a2dda0b..8eca26f95c 100644
--- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -58,7 +58,7 @@ msgstr "Datum eingeben"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Datum eingeben"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Chinesisch (Traditionell)"
msgid "[{site_name}] Log in to the app"
msgstr "[{site_name}] In App einloggen"
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr "Anhang"
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Datei-Kommentar"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Benutzer"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Ungültige Auswahl"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Ungültige Auswahl"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Ein Fehler wurde vom Server protokolliert."
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URL der Remote-Bilddatei"
msgid "Downloading images from remote URL is not enabled"
msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen"
@@ -970,7 +970,7 @@ msgstr "Nachverfolgt"
msgid "Allocated"
msgstr "Zugeordnet"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Bauauftrag"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Bauaufträge"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag"
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Externer Link"
@@ -1273,7 +1273,7 @@ msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
@@ -1315,7 +1315,7 @@ msgstr "Objekt bauen"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Eine Liste von Endprodukten muss angegeben werden"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr "Zugewiesener Bestand"
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr "Zugewiesener Bestand"
msgid "On Order"
msgstr "Bestellt"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "In Produktion"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Fertiggestellte Endprodukte"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr "Anzeige von `Über` einschränken"
msgid "Show the `about` modal only to superusers"
msgstr "Zeige das `Über` Fenster nur Administratoren"
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Firmenname"
@@ -3550,9 +3550,9 @@ msgstr "Die zuletzt benutzten Druckmaschinen für einen Benutzer speichern"
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr "Endpunkt, an dem dieser Webhook empfangen wird"
msgid "Name for this webhook"
msgstr "Name für diesen Webhook"
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Aktiv"
@@ -3588,7 +3590,7 @@ msgstr "Aktiv"
msgid "Is this webhook active"
msgstr "Ist dieser Webhook aktiv"
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?"
msgid "Id"
msgstr "ID"
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Titel"
@@ -3678,7 +3680,7 @@ msgstr "Gelesen"
msgid "Was this news item read?"
msgstr "Wurde diese Nachricht gelesen?"
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr "{verbose_name} storniert"
msgid "A order that is assigned to you was canceled"
msgstr "Eine Bestellung, die Ihnen zugewiesen war, wurde storniert"
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Artikel erhalten"
@@ -3848,270 +3850,294 @@ msgstr "Teile importiert"
msgid "Previous Step"
msgstr "Vorheriger Schritt"
-#: company/models.py:113
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
+msgstr ""
+
+#: company/models.py:114
msgid "Company description"
msgstr "Firmenbeschreibung"
-#: company/models.py:114
+#: company/models.py:115
msgid "Description of the company"
msgstr "Firmenbeschreibung"
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "Firmenwebsite Adresse/URL"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Kontakt-Tel."
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "Kontakt-Telefon"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "Kontakt-Email"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr "Anlaufstelle"
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr "Link auf externe Firmeninformation"
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "ist Kunde"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr "Verkaufen Sie Teile an diese Firma?"
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "ist Zulieferer"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr "Kaufen Sie Teile von dieser Firma?"
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "ist Hersteller"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "Produziert diese Firma Teile?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr "Standard-Währung für diese Firma"
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Firma"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr "Firma auswählen"
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr "Adresstitel"
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr "Titel zur Beschreibung des Adresseintrages"
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr "Primäre Adresse"
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr "Als primäre Adresse festlegen"
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr "Linie 1"
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr "Adresszeile 1"
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr "Linie 2"
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr "Adresszeile 2"
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr "Postleitzahl"
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr "Stadt/Region"
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr "Postleitzahl Stadt/Region"
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr "Staat/Provinz"
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr "Bundesland"
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr "Land"
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr "Adresse Land"
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr "Versandnotizen"
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr "Notizen für Versandkurier"
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr "Interne Versandnotizen"
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr "Versandnotizen für interne Verwendung"
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr "Link zu Adressinformationen (extern)"
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr "Basisteil"
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "Teil auswählen"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Hersteller"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Hersteller auswählen"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Hersteller-Teilenummer"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr "Externe URL für das Herstellerteil"
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr "Teilbeschreibung des Herstellers"
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "Herstellerteil"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "Parametername"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Wert"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "Parameterwert"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "Einheiten"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr "Parametereinheit"
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr "Packeinheiten müssen mit den Basisteileinheiten kompatibel sein"
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr "Packeinheiten müssen größer als Null sein"
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Zulieferer"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Zulieferer auswählen"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr "Lagerbestandseinheit (SKU) des Zulieferers"
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr "Herstellerteil auswählen"
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr "Teil-URL des Zulieferers"
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr "Zuliefererbeschreibung des Teils"
msgid "Note"
msgstr "Notiz"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr "Basiskosten"
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr "Verpackungen"
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr "Teile-Verpackungen"
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr "Teile-Verpackungen"
msgid "Pack Quantity"
msgstr "Packmenge"
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen."
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr "Vielfache"
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr "Mehrere bestellen"
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr "Verfügbare Menge von Lieferanten"
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr "Verfügbarkeit aktualisiert"
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr "Datum des letzten Updates der Verfügbarkeitsdaten"
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr "Standard-Währung für diesen Zulieferer"
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr "Auf Lager"
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr "Inaktiv"
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "Bestellung anlegen"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr "Firmenaktionen"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "Firmeninformation bearbeiten"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Firma bearbeiten"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Unternehmen löschen"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Firma löschen"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Firma löschen"
msgid "Part image"
msgstr "Artikelbild"
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Neues Bild hochladen"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Bild von URL herunterladen"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr "Bild löschen"
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Kunde"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "verwendet Standard-Währung"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Adresse"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Telefon"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr "Bild entfernen"
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr "Verknüpftes Bild von dieser Firma entfernen"
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr "Entfernen"
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr "Bild hochladen"
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr "Bild herunterladen"
@@ -4368,7 +4414,7 @@ msgstr "Zulieferer-Bestand"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Bestellungen"
@@ -4391,7 +4437,7 @@ msgstr "Neue Bestellung"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr "Aufträge"
@@ -4416,7 +4462,7 @@ msgstr "Zugeordneter Bestand"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr "Rücksendeaufträge"
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "Teil bestellen"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr "Herstellerteil bearbeiten"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr "Herstellerteil löschen"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Internes Teil"
@@ -4484,7 +4530,7 @@ msgstr "Keine Herstellerdaten verfügbar"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr "Adressen"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr "Zuliefererteil"
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr "Zulieferer-Teil Aktionen"
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr "Verfügbarkeit der Teile aktualisieren"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr "Verfügbarkeit der Teile aktualisieren"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "Lagerartikel"
@@ -4767,7 +4813,7 @@ msgstr "Anzahl der zu druckenden Kopien für jedes Label"
msgid "Connected"
msgstr "Verbunden"
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Unbekannt"
@@ -4865,11 +4911,37 @@ msgstr "Konfigurationstyp"
msgid "Total Price"
msgstr "Gesamtpreis"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Bestellstatus"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Keine passende Bestellung gefunden"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Bestellung"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr "Keine passende Bestellung gefunden"
msgid "Purchase Order"
msgstr "Bestellung"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr "Lieferantenteil muss mit Lieferant übereinstimmen"
msgid "deleted"
msgstr "gelöscht"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Bestellung"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Zuliefererteil"
@@ -5507,12 +5573,6 @@ msgstr "Bestellreferenz"
msgid "Order Description"
msgstr "Bestellungsbeschreibung"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Bestellstatus"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Keine Lieferanteninformationen verfügbar"
@@ -5881,12 +5941,6 @@ msgstr "Variante von"
msgid "Minimum Stock"
msgstr "Minimaler Bestand"
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr "Auf Lager"
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Benutzt in"
@@ -5927,7 +5981,7 @@ msgstr "Pfad zur Kategorie"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Teile"
@@ -5947,92 +6001,92 @@ msgstr "Übergeordnete IPN"
msgid "Part IPN"
msgstr "Teil IPN"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Niedrigster Preis"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Höchster Preis"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr "Markiert"
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr "Nach markierten Kategorien filtern"
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr "Ebenen"
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr "Filter nach Kategorietiefe"
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr "Mehrstufig"
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen"
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr "Übergeordnetes"
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr "Nach übergeordneter Kategorie filtern"
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr "Baum ausschließen"
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr "Unterkategorien in der angegebenen Kategorie ausschließen"
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr "Ergebnisse"
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Eingehende Bestellung"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Ausgehender Auftrag"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Lagerartikel produziert von Bauauftrag"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Lagerartikel für Bauauftrag benötigt"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Gültig"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr "Gesamte Stückliste validieren"
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Diese Option muss ausgewählt werden"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr "Diese Option muss ausgewählt werden"
msgid "Category"
msgstr "Kategorie"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr "Verwendet"
@@ -6049,7 +6103,7 @@ msgstr "Verwendet"
msgid "Default Location"
msgstr "Standard-Lagerort"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Gesamtbestand"
@@ -6065,7 +6119,7 @@ msgstr "Teil-Kategorie"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Teil-Kategorien"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr "Parameter-Beschreibung"
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr "Herstellerteil mit dieser MPN existiert bereits"
msgid "Supplier part matching this SKU already exists"
msgstr "Lieferantenteil mit dieser SKU existiert bereits"
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr "Externes Lager"
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr "Nicht zugewiesenes Lager"
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr "Alternatives Lager"
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Teil duplizieren"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr "Initiale Daten von anderem Teil kopieren"
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Initialer Lagerbestand"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr "Erstelle Teil mit Ausgangsbestand"
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr "Lieferanteninformationen"
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr "Lieferanteninformationen zu diesem Teil hinzufügen"
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Kategorieparameter kopieren"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr "Vorhandenes Bild"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr "Dateiname eines vorhandenen Teilbildes"
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr "Bilddatei existiert nicht"
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken"
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken"
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken"
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr "Externen Bestand ausschließen"
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr "Lagerartikel an externen Orten ausschließen"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Bericht generieren"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten"
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Teile aktualisieren"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren"
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr "Inventur-Funktionalität ist nicht aktiviert"
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr "Berechneten Wert für Mindestpreis überschreiben"
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr "Mindestpreis Währung"
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr "Berechneten Wert für maximalen Preis überschreiben"
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr "Maximalpreis Währung"
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Aktualisieren"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Preis für dieses Teil aktualisieren"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Konnte nicht von den angegebenen Währungen in {default_currency} umrechnen"
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein"
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein"
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr "Teil auswählen, von dem Stückliste kopiert wird"
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Bestehende Daten entfernen"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen"
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr "Vererbtes einschließen"
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden"
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Ungültige Zeilen überspringen"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr "Ersatzteile kopieren"
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren"
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Bestehende Stückliste löschen"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen"
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr "Keine Teilspalte angegeben"
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr "Mehrere übereinstimmende Teile gefunden"
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Keine passenden Teile gefunden"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr "Teil ist nicht als Komponente angelegt"
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Menge nicht angegeben"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Ungültige Menge"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr "Mindestens eine Stückliste-Position ist erforderlich"
@@ -7227,7 +7281,7 @@ msgstr "Inventurinformationen hinzufügen"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr "Inventur"
@@ -7458,14 +7512,6 @@ msgstr "Teil kann an Kunden verkauft werden"
msgid "Part is not active"
msgstr "Teil ist nicht aktiv"
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr "Inaktiv"
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr "Teil ist virtuell (kein physisches Teil)"
@@ -7633,8 +7679,8 @@ msgstr "Bearbeiten"
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
@@ -8202,7 +8248,7 @@ msgstr "Plugin-Konfiguration"
msgid "Plugin Configurations"
msgstr "Plugin-Konfigurationen"
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr "Schlüssel"
@@ -8705,7 +8751,7 @@ msgstr "Löschen wenn leer"
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr "Ablaufdatum"
@@ -8786,7 +8832,7 @@ msgstr "Bestand-Lagerort"
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "Bestand-Lagerorte"
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr "abgelaufen"
@@ -10095,7 +10141,7 @@ msgstr "Bewerten"
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Löschen"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr "Nicht verifiziert"
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr "Primär"
@@ -11629,213 +11675,213 @@ msgstr "Alle ausgewählten Zulieferteile werden gelöscht"
msgid "Delete Supplier Parts"
msgstr "Zuliefererteil entfernen"
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr "Neue Firma hinzufügen"
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr "Teile geliefert"
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr "Hersteller-Teile"
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr "Keine Firmeninformation gefunden"
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr "Neuen Kontakt erstellen"
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr "Kontakt bearbeiten"
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr "Alle ausgewählten Kontakte werden gelöscht"
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr "Rolle"
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr "Kontakte löschen"
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr "Keine Kontakte gefunden"
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr "Telefonnummer"
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr "E-Mail-Adresse"
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr "Kontakt löschen"
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr "Neue Adresse erstellen"
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr "Adresse bearbeiten"
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr "Alle ausgewählten Adressen werden gelöscht"
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr "Adressen löschen"
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr "Keine Adressen gefunden"
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr "Postleitzahl"
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr "Bundesland"
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr "Kurierhinweise"
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr "Interne Hinweise"
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr "Adresse löschen"
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr "Alle ausgewählten Herstellerteile werden gelöscht"
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr "Herstellerteile löschen"
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr "Alle ausgewählten Parameter werden gelöscht"
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr "Parameter löschen"
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr "Teile bestellen"
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr "Herstellerteile löschen"
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr "Herstellerteil-Aktionen"
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr "Keine Herstellerteile gefunden"
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr "Vorlagenteil"
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr "Baugruppe"
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr "Keine Parameter gefunden"
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr "Parameter bearbeiten"
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr "Parameter löschen"
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr "Parameter bearbeiten"
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr "Parameter löschen"
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr "Zulieferteile löschen"
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr "Keine Zulieferteile gefunden"
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr "Basiseinheit"
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr "Verfügbarkeit"
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr "Zulieferteile bearbeiten"
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr "Zuliefererteil löschen"
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr "Staffelpreis löschen"
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr "Staffelpreis bearbeiten"
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr "Keine Staffelpreisinformation gefunden"
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr "Zuletzt aktualisiert"
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr "Staffelpreis bearbeiten"
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr "Staffelpreis löschen"
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "Hinzufügen"
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr "Erlaube alternatives Lager"
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr "Benachrichtigungen anzeigen"
msgid "New Notifications"
msgstr "Neue Benachrichtigungen"
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr "Berechtigungen"
msgid "Important dates"
msgstr "wichtige Daten"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr "Tokenname"
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr "Benutzerdefinierter Tokenname"
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "Berechtigung geändert"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Gruppe"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Ansicht"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Berechtigung Einträge anzuzeigen"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Berechtigung Einträge zu erstellen"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Ändern"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Berechtigungen Einträge zu ändern"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Berechtigung Einträge zu löschen"
diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po
index e412c4e2dc..bd12cb701e 100644
--- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -58,7 +58,7 @@ msgstr "Εισάγετε ημερομηνία"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Εισάγετε ημερομηνία"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Κινέζικα (Παραδοσιακά)"
msgid "[{site_name}] Log in to the app"
msgstr "[{site_name}] Σύνδεση στην εφαρμογή"
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr "Συνημμένο"
msgid "Select file to attach"
msgstr "Επιλέξτε αρχείο για επισύναψη"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Σχόλιο αρχείου"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Χρήστης"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Μη έγκυρη επιλογή"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Μη έγκυρη επιλογή"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Όνομα"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Όνομα"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Ένα σφάλμα έχει καταγραφεί από το διακο
msgid "Must be a valid number"
msgstr "Πρέπει να είναι αριθμός"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη
msgid "Downloading images from remote URL is not enabled"
msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε"
@@ -970,7 +970,7 @@ msgstr "Υπό παρακολούθηση"
msgid "Allocated"
msgstr "Κατανεμημένο"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Σειρά Κατασκευής"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Δημιουργία Παραγγελιών"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την ε
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Εξωτερικοί σύνδεσμοι"
@@ -1273,7 +1273,7 @@ msgstr "Η έξοδος κατασκευής δεν ταιριάζει με τη
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
@@ -1315,7 +1315,7 @@ msgstr "Αντικείμενο κατασκευής"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Πρέπει να παρέχεται μια λίστα με τα αποτελέσματα κατασκευής"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Ολοκληρωμένα Προϊόντα"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po
index 07340db307..f40d3d6c40 100644
--- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/src/backend/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: 2024-04-13 13:21+0000\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -59,7 +59,7 @@ msgstr ""
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -70,7 +70,7 @@ msgstr ""
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -341,10 +341,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -406,14 +406,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -443,7 +443,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr ""
@@ -485,7 +485,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -494,11 +494,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -506,8 +506,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -522,9 +522,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -590,8 +590,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -683,7 +683,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -971,7 +971,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1001,7 +1001,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1051,13 +1051,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1079,9 +1079,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1224,7 +1224,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1274,7 +1274,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1316,7 +1316,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1461,7 +1461,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1678,7 +1678,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1686,13 +1686,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1861,7 +1861,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2207,7 +2207,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3551,9 +3551,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3575,13 +3575,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3589,7 +3591,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3653,7 +3655,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3679,7 +3681,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3735,7 +3737,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3849,270 +3851,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4120,35 +4146,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4159,27 +4189,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4189,62 +4219,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4256,72 +4302,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4369,7 +4415,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4392,7 +4438,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4417,7 +4463,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4465,17 +4511,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4485,7 +4531,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4535,16 +4581,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4635,7 +4681,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4645,7 +4691,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4768,7 +4814,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4866,11 +4912,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4884,7 +4956,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5064,12 +5136,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5508,12 +5574,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5882,12 +5942,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5928,7 +5982,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5948,92 +6002,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6041,7 +6095,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6050,7 +6104,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6066,7 +6120,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6569,7 +6623,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6868,209 +6922,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7228,7 +7282,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7459,14 +7513,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7634,8 +7680,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8203,7 +8249,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8706,7 +8752,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8787,7 +8833,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9470,7 +9516,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10096,7 +10142,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10279,7 +10325,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11630,213 +11676,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13274,7 +13320,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13608,11 +13654,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13793,7 +13834,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13821,7 +13862,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13917,7 +13958,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14114,7 +14155,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14122,66 +14163,66 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po
index 66c4912d5b..3dc0e9e398 100644
--- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:20\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
"Language: es_MX\n"
@@ -58,7 +58,7 @@ msgstr ""
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr ""
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr ""
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index 07340db307..f40d3d6c40 100644
--- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-13 13:21+0000\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -59,7 +59,7 @@ msgstr ""
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -70,7 +70,7 @@ msgstr ""
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -341,10 +341,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -406,14 +406,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -443,7 +443,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr ""
@@ -485,7 +485,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -494,11 +494,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -506,8 +506,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -522,9 +522,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -590,8 +590,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -683,7 +683,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -971,7 +971,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1001,7 +1001,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1051,13 +1051,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1079,9 +1079,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1224,7 +1224,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1274,7 +1274,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1316,7 +1316,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1461,7 +1461,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1678,7 +1678,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1686,13 +1686,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1861,7 +1861,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2207,7 +2207,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3551,9 +3551,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3575,13 +3575,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3589,7 +3591,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3653,7 +3655,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3679,7 +3681,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3735,7 +3737,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3849,270 +3851,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4120,35 +4146,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4159,27 +4189,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4189,62 +4219,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4256,72 +4302,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4369,7 +4415,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4392,7 +4438,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4417,7 +4463,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4465,17 +4511,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4485,7 +4531,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4535,16 +4581,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4635,7 +4681,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4645,7 +4691,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4768,7 +4814,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4866,11 +4912,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4884,7 +4956,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5064,12 +5136,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5508,12 +5574,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5882,12 +5942,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5928,7 +5982,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5948,92 +6002,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6041,7 +6095,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6050,7 +6104,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6066,7 +6120,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6569,7 +6623,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6868,209 +6922,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7228,7 +7282,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7459,14 +7513,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7634,8 +7680,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8203,7 +8249,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8706,7 +8752,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8787,7 +8833,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9470,7 +9516,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10096,7 +10142,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10279,7 +10325,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11630,213 +11676,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13274,7 +13320,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13608,11 +13654,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13793,7 +13834,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13821,7 +13862,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13917,7 +13958,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14114,7 +14155,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14122,66 +14163,66 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po
index 663d043c7c..609252e6b9 100644
--- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:20\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -58,7 +58,7 @@ msgstr "تاریخ را وارد کنید"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "تاریخ را وارد کنید"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr ""
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "آدرس فایل تصویری از راه دور"
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po
index 55d63d9f78..f8755e2384 100644
--- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -58,7 +58,7 @@ msgstr "Anna päivämäärä"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Anna päivämäärä"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "Sähköposti"
@@ -405,14 +405,14 @@ msgstr "Liite"
msgid "Select file to attach"
msgstr "Valitse liitettävä tiedosto"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Tiedoston kommentti"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Käyttäjä"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Virheellinen valinta"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Virheellinen valinta"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Nimi"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Nimi"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr "Täytyy olla kelvollinen luku"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "Kuvatiedoston URL"
msgid "Downloading images from remote URL is not enabled"
msgstr "Kuvien lataaminen ei ole käytössä"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Ulkoinen linkki"
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Yrityksen nimi"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Aktiivinen"
@@ -3588,7 +3590,7 @@ msgstr "Aktiivinen"
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Otsikko"
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr "Edellinen vaihe"
-#: company/models.py:113
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
+msgstr ""
+
+#: company/models.py:114
msgid "Company description"
msgstr "Yrityksen kuvaus"
-#: company/models.py:114
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "Sivusto"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "Yrityksen sivuston URL"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Puhelinnumero"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "Kontakti"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "on asiakas"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "on toimittaja"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "on valmistaja"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Yritys"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Valmistaja"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Valitse valmistaja"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Valmistajan osanumero"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Arvo"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Toimittaja"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Valitse toimittaja"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr "Toimittajan varastonimike"
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr "Valitse valmistajan osa"
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr "Muistiinpano"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "Muokkaa yrityksen tietoja"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Muokkaa yritystä"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Poista yritys"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Poista yritys"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Poista yritys"
msgid "Part image"
msgstr "Osan kuva"
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Asiakas"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "Käyttää oletusvaluuttaa"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Osoite"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Puhelin"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr "Poista"
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr "Hinta yhteensä"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr "Kategoria"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Luo raportti"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr "Muokkaa"
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr "Avain"
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Poista"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr "Vahvistamaton"
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr "Ensisijainen"
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr "Näytä ilmoitukset"
msgid "New Notifications"
msgstr "Uudet ilmoitukset"
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr "Oikeudet"
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Ryhmä"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Näytä"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Oikeus tarkastella kohteita"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Oikeus lisätä kohteita"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Muuta"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Oikeus muokata kohteita"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Oikeus poistaa kohteita"
diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po
index 899567d7e3..14e4235034 100644
--- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -58,7 +58,7 @@ msgstr "Entrer la date"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Entrer la date"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Chinois (Traditionnel)"
msgid "[{site_name}] Log in to the app"
msgstr "[{site_name}] Se connecter à l'application"
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "E-mail"
@@ -405,14 +405,14 @@ msgstr "Pièce jointe"
msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Commentaire du fichier"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Utilisateur"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Choix invalide"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Choix invalide"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Nom"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Nom"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Une erreur a été loguée par le serveur."
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URL du fichier image distant"
msgid "Downloading images from remote URL is not enabled"
msgstr "Le téléchargement des images depuis une URL distante n'est pas activé"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Échec de la vérification du processus d'arrière-plan"
@@ -970,7 +970,7 @@ msgstr "Suivi"
msgid "Allocated"
msgstr "Allouée"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Ordre de Fabrication"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Ordres de Fabrication"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "BuildOrder associé a cette fabrication"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction"
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Lien Externe"
@@ -1273,7 +1273,7 @@ msgstr "L'ordre de production de correspond pas à l'ordre de commande"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "La quantité doit être supérieure à zéro"
@@ -1315,7 +1315,7 @@ msgstr "Création de l'objet"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Une liste d'ordre de production doit être fourni"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr "Stock alloué"
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr "Stock alloué"
msgid "On Order"
msgstr "En Commande"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "En Production"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Sorties de Construction terminées"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr "Limiter l'affichage de `about`"
msgid "Show the `about` modal only to superusers"
msgstr "Afficher la modale `about` uniquement aux super-utilisateurs"
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Nom de la société"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Actif"
@@ -3588,7 +3590,7 @@ msgstr "Actif"
msgid "Is this webhook active"
msgstr "Ce webhook (lien de rappel HTTP) est-il actif"
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr "Jeton"
@@ -3652,7 +3654,7 @@ msgstr "Le travail sur ce message est-il terminé ?"
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Titre"
@@ -3678,7 +3680,7 @@ msgstr "Lu"
msgid "Was this news item read?"
msgstr "Cette nouvelle a-t-elle été lue ?"
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Articles reçus"
@@ -3848,270 +3850,294 @@ msgstr "Pièces importées"
msgid "Previous Step"
msgstr "Étape précédente"
-#: company/models.py:113
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
+msgstr ""
+
+#: company/models.py:114
msgid "Company description"
msgstr "Description de la société"
-#: company/models.py:114
+#: company/models.py:115
msgid "Description of the company"
msgstr "Description de la société"
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "Site web"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "Site Web de la société"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Numéro de téléphone"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "Numéro de téléphone de contact"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "Adresse e-mail de contact"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr "Point de contact"
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr "Lien externe vers les informations de l'entreprise"
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "est client"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr "Vendez-vous des objets à cette entreprise?"
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "est fournisseur"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr "Est-ce que vous achetez des articles à cette entreprise?"
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "est fabricant"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "Cette entreprise fabrique-t-elle des pièces?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr "Devise par défaut utilisée pour cette entreprise"
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Société"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr "Sélectionner une entreprise"
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr "Sélectionner comme adresse principale"
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr "Ligne 1"
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr "Adresse"
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr "Ligne 2"
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr "Seconde ligne d'adresse"
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr "Code postal"
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr "Ville / Région"
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr "Code postal Ville / Région"
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr "État / Province"
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr "État ou province"
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr "Pays"
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr "Pays"
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr "Notes du livreur"
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr "Instructions pour le livreur"
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr "Notes pour la livraison interne"
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr "Notes internes pour la livraison"
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Fabricant"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Sélectionner un fabricant"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "Pièces du fabricant"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "Nom du paramètre"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Valeur"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "Valeur du paramètre"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "Unités"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr "Unités du paramètre"
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base"
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Fournisseur"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Sélectionner un fournisseur"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr "Unité de gestion des stocks des fournisseurs"
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr "Sélectionner un fabricant"
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr "Lien de la pièce du fournisseur externe"
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr "Description de la pièce du fournisseur"
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr "Description de la pièce du fournisseur"
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr "coût de base"
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Frais minimums (par exemple frais de stock)"
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr "Conditionnement"
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr "Conditionnement de l'article"
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr "Conditionnement de l'article"
msgid "Pack Quantity"
msgstr "Nombre de paquet"
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr "plusieurs"
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr "Commande multiple"
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr "Quantité disponible auprès du fournisseur"
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr "Disponibilité mise à jour"
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr "Date de dernière mise à jour des données de disponibilité"
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr "Devise par défaut utilisée pour ce fournisseur"
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr "En Stock"
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "Créer une commande d'achat"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr "Actions de l'entreprise"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "Éditer les informations sur la société"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Editer la société"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Supprimer la société"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Supprimer la société"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Supprimer la société"
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Ajouter une nouvelle image"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Télécharger l'image depuis l'URL"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr "Supprimer image"
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Client"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "Utiliser la devise par défaut"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Adresse"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Téléphone"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr "Supprimer"
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr "Stock fournisseur"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Bons de commande"
@@ -4391,7 +4437,7 @@ msgstr "Nouvelle commande achat"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr "Ventes"
@@ -4416,7 +4462,7 @@ msgstr "Stock affecté"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "Article de la commande"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr "Modifier la pièce du fabricant"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr "Supprimer la pièce de fabricant"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Pièces Internes"
@@ -4484,7 +4530,7 @@ msgstr "Aucune information sur le fabricant disponible"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr "Adresses"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr "Pièce fournisseur"
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr "Actions de la pièce du fournisseur"
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "Éléments en stock"
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Inconnu"
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr "Prix Total"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Statut de la commande"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Aucun bon de commande correspondant n'a été trouvé"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Commande"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé"
msgid "Purchase Order"
msgstr "Commande d’achat"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr "supprimé"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Commande"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Pièce fournisseur"
@@ -5507,12 +5573,6 @@ msgstr "Référence de commande"
msgid "Order Description"
msgstr "Description de la commande"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Statut de la commande"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr "Stock Minimum"
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr "En Stock"
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Pièces"
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Prix Minimum"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Prix Maximum"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr "Catégorie"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr "Catégorie de composant"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Catégories de composants"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr "Prise d'inventaire"
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr "Modifier"
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Supprimer"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr "Non vérifiée"
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr "Principale"
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "Ajouter"
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr "Droits"
msgid "Important dates"
msgstr "Dates importantes"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "Droit défini"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Groupe"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Vue"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Droit de voir des éléments"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Droit d'ajouter des éléments"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Modifier"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Droit de modifier des élément"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Droit de supprimer des éléments"
diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po
index 56cfdf2b31..76fe1050c5 100644
--- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -58,7 +58,7 @@ msgstr "הזן תאריך סיום"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "הזן תאריך סיום"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr "קובץ מצורף"
msgid "Select file to attach"
msgstr "בחר קובץ לצירוף"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "הערת קובץ"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "משתמש"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "בחירה שגויה"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "בחירה שגויה"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "שם"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "שם"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po
index c73cfa209b..5fd43906bc 100644
--- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:20\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Language: hi_IN\n"
@@ -58,7 +58,7 @@ msgstr "तारीख दर्ज करें"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "तारीख दर्ज करें"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "ई-मेल"
@@ -405,14 +405,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr ""
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po
index 53d4013b3c..12bfa8423e 100644
--- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -58,7 +58,7 @@ msgstr "Dátum megadása"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Dátum megadása"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Kínai (Hagyományos)"
msgid "[{site_name}] Log in to the app"
msgstr "[{site_name}] Bejelentkezés"
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr "Melléklet"
msgid "Select file to attach"
msgstr "Válaszd ki a mellekelni kívánt fájlt"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Leírás, bővebb infó"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Felhasználó"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Érvénytelen választás"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Érvénytelen választás"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Név"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Név"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "A kiszolgáló egy hibaüzenetet rögzített."
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "A távoli kép URL-je"
msgid "Downloading images from remote URL is not enabled"
msgstr "Képek letöltése távoli URL-ről nem engedélyezett"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Háttér folyamat ellenőrzés sikertelen"
@@ -970,7 +970,7 @@ msgstr "Követett"
msgid "Allocated"
msgstr "Lefoglalva"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Gyártási utasítás"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Gyártási utasítások"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért"
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Külső link"
@@ -1273,7 +1273,7 @@ msgstr "Gyártási kimenet nem egyezik a gyártási utasítással"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Mennyiségnek nullánál többnek kell lennie"
@@ -1315,7 +1315,7 @@ msgstr "Gyártás objektum"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "A gyártási kimenetek listáját meg kell adni"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1678,7 +1678,7 @@ msgid "Allocated Stock"
msgstr "Lefoglalt készlet"
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1686,13 +1686,13 @@ msgstr "Lefoglalt készlet"
msgid "On Order"
msgstr "Rendelve"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "Gyártásban"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1861,7 +1861,7 @@ msgid "Completed Outputs"
msgstr "Befejezett kimenetek"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2207,7 +2207,7 @@ msgstr "Verzió infók megjelenítésének tiltása"
msgid "Show the `about` modal only to superusers"
msgstr "Verzió infók megjelenítése csak admin felhasználóknak"
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Cég neve"
@@ -3551,9 +3551,9 @@ msgstr ""
msgid "Price break quantity"
msgstr "Ársáv mennyiség"
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3575,13 +3575,15 @@ msgstr "Végpont ahol ez a webhook érkezik"
msgid "Name for this webhook"
msgstr "Webhook neve"
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Aktív"
@@ -3589,7 +3591,7 @@ msgstr "Aktív"
msgid "Is this webhook active"
msgstr "Aktív-e ez a webhook"
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3653,7 +3655,7 @@ msgstr "Befejeződött a munka ezzel az üzenettel?"
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Cím"
@@ -3679,7 +3681,7 @@ msgstr "Elolvasva"
msgid "Was this news item read?"
msgstr "Elolvasva?"
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3735,7 +3737,7 @@ msgstr "{verbose_name} megszakítva"
msgid "A order that is assigned to you was canceled"
msgstr "Egy hozzád rendelt megrendelés megszakítva"
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Készlet érkezett"
@@ -3849,270 +3851,294 @@ msgstr "Importált alkatrészek"
msgid "Previous Step"
msgstr "Előző lépés"
-#: company/models.py:113
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
+msgstr ""
+
+#: company/models.py:114
msgid "Company description"
msgstr "Cég leírása"
-#: company/models.py:114
+#: company/models.py:115
msgid "Description of the company"
msgstr "A cég leírása"
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "Weboldal"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "Cég weboldala"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Telefonszám"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "Kapcsolattartó telefonszáma"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "Kapcsolattartó email címe"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "Névjegy"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr "Kapcsolattartó"
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr "Link a külső céginformációhoz"
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "vevő-e"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr "Értékesítesz alkatrészeket ennek a cégnek?"
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "beszállító-e"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr "Vásárolsz alkatrészeket ettől a cégtől?"
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "gyártó-e"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "Gyárt ez a cég alkatrészeket?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr "Cég által használt alapértelmezett pénznem"
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Cég"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr "Cég kiválasztása"
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr "Cím megnevezése"
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr "Címhez tartozó leírás, megnevezés"
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr "Elsődleges cím"
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr "Beállítás elsődleges címként"
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr "1. sor"
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr "Cím első sora"
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr "2. sor"
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr "Cím második sora"
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr "Irányítószám"
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr "Város/Régió"
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr "Irányítószám város/régió"
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr "Állam/Megye"
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr "Állam vagy megye"
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr "Ország"
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr "Cím országa"
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr "Megjegyzés a futárnak"
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr "Futárnak szóló megjegyzések"
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr "Belső szállítási megjegyzések"
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr "Szállítási megjegyzések belső használatra"
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr "Link a címinformációkhoz (külső)"
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr "Kiindulási alkatrész"
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "Válassz alkatrészt"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Gyártó"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Gyártó kiválasztása"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Gyártói cikkszám"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr "URL link a gyártói alkatrészhez"
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr "Gyártói alkatrész leírása"
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "Gyártói alkatrész"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "Paraméter neve"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Érték"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "Paraméter értéke"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "Mértékegység"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr "Paraméter mértékegység"
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr "A csomagolási egységnek kompatibilisnek kell lennie az alkatrész mértékegységgel"
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr "Csomagolási mennyiségnek nullánál többnek kell lennie"
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia"
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4120,35 +4146,39 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Beszállító"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Beszállító kiválasztása"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr "Beszállítói cikkszám"
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr "Gyártói alkatrész kiválasztása"
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr "URL link a beszállítói alkatrészhez"
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr "Beszállítói alkatrész leírása"
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4159,27 +4189,27 @@ msgstr "Beszállítói alkatrész leírása"
msgid "Note"
msgstr "Megjegyzés"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr "alap költség"
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimális díj (pl. tárolási díj)"
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr "Csomagolás"
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr "Alkatrész csomagolás"
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4189,62 +4219,78 @@ msgstr "Alkatrész csomagolás"
msgid "Pack Quantity"
msgstr "Csomagolási mennyiség"
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél."
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr "többszörös"
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr "Többszörös rendelés"
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr "Beszállítónál elérhető mennyiség"
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr "Elérhetőség frissítve"
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr "Utolsó elérhetőségi adat frissítés"
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr "Beszállító által használt alapértelmezett pénznem"
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr "Készleten"
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr "Inaktív"
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "Beszerzési rendelés létrehozása"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr "Cég műveletek"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "Cég adatainak szerkesztése"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Cég szerkesztése"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Cég törlése"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Cég törlése"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4256,72 +4302,72 @@ msgstr "Cég törlése"
msgid "Part image"
msgstr "Alkatrész képe"
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Új kép feltöltése"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Kép letöltése URL-ről"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr "Kép törlése"
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Vevő"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "Alapértelmezett pénznemet használja"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Cím"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Telefonszám"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr "Kép eltávolítása"
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr "Céghez rendelt kép eltávolítása"
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr "Törlés"
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr "Kép feltöltése"
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr "Kép letöltése"
@@ -4369,7 +4415,7 @@ msgstr "Beszállítói készlet"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Beszerzési rendelések"
@@ -4392,7 +4438,7 @@ msgstr "Új beszerzési rendelés"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr "Vevői rendelések"
@@ -4417,7 +4463,7 @@ msgstr "Hozzárendelt készlet"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr "Visszavételek"
@@ -4465,17 +4511,17 @@ msgid "Order part"
msgstr "Alkatrész rendelés"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr "Gyártói alkatrész szerkesztése"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr "Gyártói alkatrész törlése"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Belső alkatrész"
@@ -4485,7 +4531,7 @@ msgstr "Nincs elérhető gyártói információ"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4535,16 +4581,16 @@ msgid "Addresses"
msgstr "Címek"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr "Beszállítói alkatrész"
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr "Beszállítói alkatrész műveletek"
@@ -4635,7 +4681,7 @@ msgid "Update Part Availability"
msgstr "Alkatrész elérhetőség frissítése"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4645,7 +4691,7 @@ msgstr "Alkatrész elérhetőség frissítése"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "Készlet tételek"
@@ -4768,7 +4814,7 @@ msgstr ""
msgid "Connected"
msgstr "Csatlakoztatba"
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Ismeretlen"
@@ -4866,11 +4912,37 @@ msgstr "Konfiguráció típusa"
msgid "Total Price"
msgstr "Teljes ár"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Rendelés állapota"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr "Van árazás"
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Nincs egyező beszerzési rendelés"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Rendelés"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4884,7 +4956,7 @@ msgstr "Nincs egyező beszerzési rendelés"
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5064,12 +5136,6 @@ msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval"
msgid "deleted"
msgstr "törölve"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Rendelés"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Beszállítói alkatrész"
@@ -5508,12 +5574,6 @@ msgstr "Rendelés azonosítója"
msgid "Order Description"
msgstr "Rendelés leírása"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Rendelés állapota"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Nincs elérhető beszállítói információ"
@@ -5882,12 +5942,6 @@ msgstr "Ebből a sablonból"
msgid "Minimum Stock"
msgstr "Minimális készlet"
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr "Készleten"
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Felhasználva ebben"
@@ -5928,7 +5982,7 @@ msgstr "Kategória elérési út"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Alkatrészek"
@@ -5948,92 +6002,92 @@ msgstr "Szülő IPN"
msgid "Part IPN"
msgstr "Alkatrész IPN"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Minimum ár"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Maximum ár"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr "Szülő"
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Beérkező beszerzési rendelés"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Kimenő vevői rendelés"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Gyártással előállított készlet"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "A gyártási utasításhoz szükséges készlet"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Érvényes"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr "Teljes alkatrészjegyzék jóváhagyása"
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Ennek az opciónak ki kll lennie választva"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6041,7 +6095,7 @@ msgstr "Ennek az opciónak ki kll lennie választva"
msgid "Category"
msgstr "Kategória"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6050,7 +6104,7 @@ msgstr ""
msgid "Default Location"
msgstr "Alapértelmezett hely"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Teljes készlet"
@@ -6066,7 +6120,7 @@ msgstr "Alkatrész kategória"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Alkatrész kategóriák"
@@ -6569,7 +6623,7 @@ msgid "Parameter description"
msgstr "Paraméter leírása"
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr "Jelölőnégyzet"
@@ -6868,209 +6922,209 @@ msgstr "Van már ilyen gyártói alkatrész"
msgid "Supplier part matching this SKU already exists"
msgstr "Van már ilyen beszállítói alkatrész"
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr "Nem lefoglalt készlet"
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Alkatrész másolása"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr "Kezdeti adatok másolása egy másik alkatrészről"
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Kezdeti készlet"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr "Kezdeti készlet mennyiség létrehozása"
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr "Beszállító információ"
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr "Kezdeti beszállító adatok hozzáadása"
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Kategória paraméterek másolása"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr "Meglévő kép"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr "A meglévő alkatrész képfájl neve"
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr "A képfájl nem létezik"
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra"
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre"
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre"
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr "Külső készlet nélkül"
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr "Külső helyeken lévő készlet nélkül"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Riport létrehozása"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr "Riport fájl létrehozása a számított leltár adatokkal"
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Alaktrészek frissítése"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal"
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr "Leltár funkció nincs engedélyezve"
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr "Számított minimum ár felülbírálása"
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr "Minimum ár pénzneme"
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr "Számított maximum ár felülbírálása"
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr "Maximum ár pénzneme"
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Frissítés"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Alkatrész árak frissítése"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Megadott pénznem átváltása {default_currency}-re sikertelen"
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár"
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár"
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk"
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Létező adat törlése"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr "Meglévő alkatrészjegyzék tételek törlése a másolás előtt"
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr "Örököltekkel együtt"
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr "Sablon alkatrészektől örökölt alkatrészjegyzék tételek használata"
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Hibás sorok kihagyása"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Engedély a hibás sorok kihagyására"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr "Helyettesítő alkatrészek másolása"
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor"
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Meglévő alkatrészjegyzék törlése"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt"
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr "Nincs megadva alkatrész oszlop"
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr "Több egyező alkatrész is található"
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Nincs egyező alkatrész"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr "Az alkatrész nem lett összetevőként jelölve"
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Mennyiség nincs megadva"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Érvénytelen mennyiség"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr "Legalább egy alkatrészjegyzék tétel szükséges"
@@ -7228,7 +7282,7 @@ msgstr "Leltár információ hozzáadása"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr "Leltár"
@@ -7459,14 +7513,6 @@ msgstr "Vevő által rendelhető, eladható"
msgid "Part is not active"
msgstr "Az alkatrész nem aktív"
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr "Inaktív"
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr "Virtuális (nem kézzelfogható alkatrész)"
@@ -7634,8 +7680,8 @@ msgstr "Szerkesztés"
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr "Utoljára módosítva"
@@ -8203,7 +8249,7 @@ msgstr "Plugin beállítás"
msgid "Plugin Configurations"
msgstr "Plugin beállítások"
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr "Kulcs"
@@ -8706,7 +8752,7 @@ msgstr "Törlés ha kimerül"
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr "Lejárati dátum"
@@ -8787,7 +8833,7 @@ msgstr "Készlet hely"
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "Készlethelyek"
@@ -9470,7 +9516,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr "Lejárt"
@@ -10096,7 +10142,7 @@ msgstr "Árfolyam"
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Törlés"
@@ -10279,7 +10325,7 @@ msgid "Unverified"
msgstr "Nem ellenőrzött"
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr "Elsődleges"
@@ -11630,213 +11676,213 @@ msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz"
msgid "Delete Supplier Parts"
msgstr "Beszállítói alkatrészek törlése"
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr "Új cég hozzáadása"
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr "Beszállított alkatrészek"
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr "Gyártott alkatrészek"
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr "Nem található céginformáció"
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr "Új névjegy létrehozása"
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr "Névjegy szerkesztése"
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr "A kiválasztott névjegyek törlésre kerülnek"
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr "Szerepkör"
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr "Névjegyek törlése"
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr "Nem található névjegy"
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr "Telefonszám"
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr "E-mail cím"
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr "Névjegy törlése"
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr "Új cím létrehozása"
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr "Cím szerkesztése"
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr "Az összes kijelölt cím törlésre kerül"
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr "Címek törlése"
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr "Nincsenek címek"
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr "Város"
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr "Állam/Megye"
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr "Futár megjegyzések"
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr "Belső megjegyzések"
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr "Cím törlése"
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr "Az összes kijelölt gyártói alkatrész törlésre kerül"
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr "Gyártói alkatrészek törlése"
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr "Az összes kijelölt paraméter törlésre kerül"
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr "Paraméterek törlése"
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr "Alkatrész rendelés"
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr "Gyártói alkatrészek törlése"
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr "Gyártói alkatrész műveletek"
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr "Nincs gyártói alkatrész"
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr "Sablon alkatrész"
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr "Gyártmány alkatrész"
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr "Nem található paraméter"
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr "Paraméter szerkesztése"
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr "Paraméter törlése"
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr "Paraméter szerkesztése"
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr "Paraméter törlése"
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr "Beszállítói alkatrész törlése"
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr "Nincs beszállítói alkatrész"
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr "Egység"
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr "Elérhetőség"
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr "Beszállítói alkatrész szerkesztése"
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr "Beszállítói alkatrész törlése"
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr "Ársáv törlése"
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr "Ársáv szerkesztése"
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr "Nincs ársáv információ"
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr "Utoljára módosítva"
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr "Ársáv szerkesztése"
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr "Ársáv törlése"
@@ -13274,7 +13320,7 @@ msgstr "Kivesz"
msgid "Add Stock"
msgstr "Készlet növelése"
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "Hozzáad"
@@ -13608,11 +13654,6 @@ msgstr "Van elérhető készlete"
msgid "Allow Variant Stock"
msgstr "Készlet változatok engedélyezése"
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr "Van árazás"
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13793,7 +13834,7 @@ msgid "Available stock"
msgstr "Elérhető"
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr "Van mértékegysége"
@@ -13821,7 +13862,7 @@ msgstr "Beszerezhető"
msgid "Has stocktake entries"
msgstr "Volt leltár"
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr "Vannak lehetőségei"
@@ -13917,7 +13958,7 @@ msgstr "Értesítések megjelenítése"
msgid "New Notifications"
msgstr "Új értesítések"
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14114,7 +14155,7 @@ msgstr "Jogosultságok"
msgid "Important dates"
msgstr "Fontos dátumok"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr "A token visszavonva"
@@ -14122,67 +14163,67 @@ msgstr "A token visszavonva"
msgid "Token has expired"
msgstr "A token lejárt"
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr "API Tokenek"
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr "Token név"
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr "Egyedi token név"
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr "Token lejárati dátum"
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr "Utolsó tevékenység"
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr "Token utolsó használata"
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr "Visszavonva"
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "Jogosultságok"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Csoport"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Nézet"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Jogosultság tételek megtekintéséhez"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Jogosultság tételek hozzáadásához"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Módosítás"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Jogosultság tételek szerkesztéséhez"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Jogosultság tételek törléséhez"
diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po
index 6594684c5d..a01f3f9512 100644
--- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:20\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -58,7 +58,7 @@ msgstr "Masukkan tanggal"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Masukkan tanggal"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "Surel"
@@ -405,14 +405,14 @@ msgstr "Lampiran"
msgid "Select file to attach"
msgstr "Pilih file untuk dilampirkan"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Komentar file"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Pengguna"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Pilihan tidak valid"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Pilihan tidak valid"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Nama"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Nama"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Sebuah kesalahan telah dicatat oleh server."
msgid "Must be a valid number"
msgstr "Harus berupa angka yang valid"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URL file gambar external"
msgid "Downloading images from remote URL is not enabled"
msgstr "Unduhan gambar dari URL external tidak aktif"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Order Produksi"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Order Produksi"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produksi induk dari produksi ini"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Produksi induk dari produksi ini"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Tautan eksternal"
@@ -1273,7 +1273,7 @@ msgstr "Hasil produksi tidak sesuai dengan order produksi"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Jumlah harus lebih besar daripada nol"
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Daftar hasil pesanan harus disediakan"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr "Tidak terverifikasi"
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po
index 59458c3dbd..440d5822c3 100644
--- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -58,7 +58,7 @@ msgstr "Inserisci la data"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Inserisci la data"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Cinese (Tradizionale)"
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr "Allegato"
msgid "Select file to attach"
msgstr "Seleziona file da allegare"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Commento del file"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Utente"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Scelta non valida"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Scelta non valida"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Nome"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Nome"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Un errore è stato loggato dal server."
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URL del file immagine remota"
msgid "Downloading images from remote URL is not enabled"
msgstr "Il download delle immagini da URL remoto non è abilitato"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Controllo in background non riuscito"
@@ -970,7 +970,7 @@ msgstr "Monitorato"
msgid "Allocated"
msgstr "Allocato"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Ordine di Produzione"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Ordini di Produzione"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Ordine di produzione a cui questa produzione viene assegnata"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione"
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Collegamento esterno"
@@ -1273,7 +1273,7 @@ msgstr "L'output della produzione non corrisponde all'ordine di compilazione"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "La quantità deve essere maggiore di zero"
@@ -1315,7 +1315,7 @@ msgstr "Crea oggetto"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Deve essere fornito un elenco dei risultati di produzione"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr "Ordinato"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Outputs Completati"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr "Limita visualizzazione `Informazioni`"
msgid "Show the `about` modal only to superusers"
msgstr "Mostra la modalità `Informazioni` solo ai superusers"
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Nome azienda"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr "Quantità prezzo limite"
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr "Scadenza in cui questa notifica viene ricevuta"
msgid "Name for this webhook"
msgstr "Nome per questa notifica"
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Attivo"
@@ -3588,7 +3590,7 @@ msgstr "Attivo"
msgid "Is this webhook active"
msgstr "È questa notifica attiva"
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr "Il lavoro su questo messaggio è terminato?"
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Titolo"
@@ -3678,7 +3680,7 @@ msgstr "Letto"
msgid "Was this news item read?"
msgstr "Queste notizie sull'elemento sono state lette?"
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Elemento ricevuto"
@@ -3848,270 +3850,294 @@ msgstr "Articoli importati"
msgid "Previous Step"
msgstr "Passaggio Precedente"
-#: company/models.py:113
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
+msgstr ""
+
+#: company/models.py:114
msgid "Company description"
msgstr "Descrizione azienda"
-#: company/models.py:114
+#: company/models.py:115
msgid "Description of the company"
msgstr "Descrizione dell'azienda"
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "Sito Web"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "Sito web aziendale"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Telefono"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "Numero di telefono di contatto"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "Indirizzo email"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "Contatto"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr "Punto di contatto"
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr "Collegamento alle informazioni aziendali esterne"
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "è un cliente"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr "Vendi oggetti a questa azienda?"
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "è un fornitore"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr "Acquistate articoli da questa azienda?"
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "è un produttore"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "Questa azienda produce articoli?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr "Valuta predefinita utilizzata per questa azienda"
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Azienda"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr "Articolo di base"
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "Seleziona articolo"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Produttore"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Seleziona Produttore"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr "Codice articolo produttore (MPN)"
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Codice articolo produttore"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr "URL dell'articolo del fornitore"
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr "Descrizione articolo costruttore"
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "Codice articolo produttore"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "Nome parametro"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Valore"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "Valore del parametro"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "Unità"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr "Unità parametri"
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo"
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Fornitore"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Seleziona fornitore"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr "Unità di giacenza magazzino fornitore"
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr "Selezionare un produttore"
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr "URL dell'articolo del fornitore"
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr "Descrizione articolo fornitore"
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr "Descrizione articolo fornitore"
msgid "Note"
msgstr "Nota"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr "costo base"
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Onere minimo (ad esempio tassa di stoccaggio)"
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr "Confezionamento"
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr "Imballaggio del pezzo"
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr "Imballaggio del pezzo"
msgid "Pack Quantity"
msgstr "Quantità Confezione"
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr "multiplo"
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr "Ordine multiplo"
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr "Quantità disponibile dal fornitore"
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr "Disponibilità Aggiornata"
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità"
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr "Valuta predefinita utilizzata per questo fornitore"
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr "In magazzino"
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr "Inattivo"
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "Crea ordine d'acquisto"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr "Azioni Azienda"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "Modifica le informazioni dell'azienda"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Modifica azienda"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Elimina azienda"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Elimina Azienda"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Elimina Azienda"
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Carica nuova immagine"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Scarica immagine dall'URL"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr "Elimina immagine"
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Cliente"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "Valuta predefinita"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Indirizzo"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Telefono"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr "Rimuovi"
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr "Giacenza Fornitore"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Ordine di acquisto"
@@ -4391,7 +4437,7 @@ msgstr "Nuovo Ordine di Acquisto"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr "Ordini di Vendita"
@@ -4416,7 +4462,7 @@ msgstr "Assegna Giacenza"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr "Ordini di reso"
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "Articoli ordinati"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr "Modifica articolo produttore"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr "Cancella articolo produttore"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Articolo interno"
@@ -4484,7 +4530,7 @@ msgstr "Nessuna informazione sul produttore disponibile"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr "Articolo Fornitore"
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr "Azioni Articolo Fornitore"
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "Articoli in magazzino"
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Sconosciuto"
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr "Prezzo Totale"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Stato dell'ordine"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Nessun ordine di acquisto corrispondente trovato"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Ordine"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr "Nessun ordine di acquisto corrispondente trovato"
msgid "Purchase Order"
msgstr "Ordine D'Acquisto"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr "L'articolo del fornitore deve corrispondere al fornitore"
msgid "deleted"
msgstr "eliminato"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Ordine"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Articolo Fornitore"
@@ -5507,12 +5573,6 @@ msgstr "Riferimento ordine"
msgid "Order Description"
msgstr "Descrizione Dell'Ordine"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Stato dell'ordine"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Nessuna informazione sul fornitore disponibile"
@@ -5881,12 +5941,6 @@ msgstr "Variante Di"
msgid "Minimum Stock"
msgstr "Scorta Minima"
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr "In magazzino"
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Utilizzato In"
@@ -5927,7 +5981,7 @@ msgstr "Percorso Categoria"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Articoli"
@@ -5947,92 +6001,92 @@ msgstr "IPN Principale"
msgid "Part IPN"
msgstr "IPN Articolo"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Prezzo Minimo"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Prezzo Massimo"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Ordine D'Acquisto In Arrivo"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Ordine di Vendita in Uscita"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Giacenza prodotta dall'Ordine di Costruzione"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Giacenza richiesta per l'Ordine di Produzione"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Valido"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr "Convalida l'intera Fattura dei Materiali"
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Questa opzione deve essere selezionata"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr "Questa opzione deve essere selezionata"
msgid "Category"
msgstr "Categoria"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr "Posizione Predefinita"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Giacenze Totali"
@@ -6065,7 +6119,7 @@ msgstr "Categoria Articoli"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Categorie Articolo"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr "Descrizione del parametro"
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già"
msgid "Supplier part matching this SKU already exists"
msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già"
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Duplica articolo"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr "Copia i dati iniziali da un altro Articolo"
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Stock iniziale"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr "Crea Articolo con quantità di scorta iniziale"
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr "Informazioni Fornitore"
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo"
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Copia Parametri Categoria"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Copia i parametri dai modelli della categoria articolo selezionata"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti"
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie"
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie"
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Genera Report"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr "Genera file di report contenente dati di inventario calcolati"
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Aggiorna Articoli"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario"
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr "La funzione Inventario non è abilitata"
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Aggiorna"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Aggiorna i prezzi per questo articolo"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr "Seleziona l'articolo da cui copiare la distinta base"
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Rimuovi Dati Esistenti"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr "Rimuovi elementi distinta base esistenti prima di copiare"
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr "Includi Ereditato"
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr "Includi gli elementi Distinta Base ereditati da prodotti template"
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Salta Righe Non Valide"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Abilita questa opzione per saltare le righe non valide"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr "Copia Articoli sostitutivi"
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base"
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Cancella Distinta Base esistente"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr "Rimuovi elementi distinta base esistenti prima del caricamento"
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr "Nessuna colonna articolo specificata"
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr "Trovati più articoli corrispondenti"
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Nessun articolo corrispondente trovato"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr "L'articolo non è indicato come componente"
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Quantità non fornita"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Quantità non valida"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr "Almeno un elemento della distinta base è richiesto"
@@ -7227,7 +7281,7 @@ msgstr "Aggiungi informazioni inventario"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr "Inventario"
@@ -7458,14 +7512,6 @@ msgstr "La parte può essere venduta ai clienti"
msgid "Part is not active"
msgstr "L'articolo non è attivo"
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr "Inattivo"
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr "L'Articolo è virtuale (non è un articolo fisico)"
@@ -7633,8 +7679,8 @@ msgstr "Modifica"
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr "Ultimo aggiornamento"
@@ -8202,7 +8248,7 @@ msgstr "Configurazione Plugin"
msgid "Plugin Configurations"
msgstr "Configurazioni Plugin"
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr "Elimina al esaurimento"
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr "Data di Scadenza"
@@ -8786,7 +8832,7 @@ msgstr "Ubicazione magazzino"
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "Posizioni magazzino"
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Questo Elemento Stock è scaduto il %(item.expiry_date)s"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr "Scaduto"
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Elimina"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr "Non verificato"
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr "Principale"
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "Aggiungi"
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr "Mostra Notifiche"
msgid "New Notifications"
msgstr "Nuove Notifiche"
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr "Amministratore"
@@ -14113,7 +14154,7 @@ msgstr "Permessi"
msgid "Important dates"
msgstr "Date Importanti"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "Impostazione autorizzazioni"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Gruppo"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Visualizza"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Autorizzazione a visualizzare gli articoli"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Autorizzazione ad aggiungere elementi"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Modificare"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Permessi per modificare gli elementi"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Autorizzazione ad eliminare gli elementi"
diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po
index 0968b32d5f..2d767bf122 100644
--- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -58,7 +58,7 @@ msgstr "日付を入力する"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "日付を入力する"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "メールアドレス"
@@ -405,14 +405,14 @@ msgstr "添付ファイル"
msgid "Select file to attach"
msgstr "添付ファイルを選択"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "ファイルコメント"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "ユーザー"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "無効な選択です"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "無効な選択です"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "お名前"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "お名前"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "外部画像ファイルのURL"
msgid "Downloading images from remote URL is not enabled"
msgstr "外部URLからの画像ダウンロードは許可されていません"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "バックグラウンドワーカーのチェックに失敗しました"
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "組立注文"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "組立注文"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "外部リンク"
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "連絡先メールアドレス"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "製造元"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "メーカー・パーツ"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "仕入先"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "顧客"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "パーツの注文"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr "メーカー・パーツの編集"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr "メーカー・パーツを削除"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "内部パーツ"
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "在庫商品"
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "パーツ"
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr "カテゴリ"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr "パーツカテゴリ"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "パーツカテゴリ"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr "期限切れ"
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr "許可"
msgid "Important dates"
msgstr "重要な日付"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "パーミッション設定"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "グループ"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "表示"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "項目を表示する権限"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "項目を追加する権限"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "変更"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "項目を編集する権限"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "項目を削除する権限"
diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po
index 3877d26135..e07c9f2839 100644
--- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -58,7 +58,7 @@ msgstr ""
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr ""
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr ""
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po
index 6dc647f6c2..c123232a01 100644
--- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:20\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Language: lv_LV\n"
@@ -58,7 +58,7 @@ msgstr "Ievadiet datumu"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Ievadiet datumu"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr ""
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po
index bc72584e87..3cc600c792 100644
--- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -58,7 +58,7 @@ msgstr "Voer datum in"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Voer datum in"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Chinees (traditioneel)"
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr "Bijlage"
msgid "Select file to attach"
msgstr "Bestand als bijlage selecteren"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Bestand opmerking"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Gebruiker"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Ongeldige keuze"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Ongeldige keuze"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Naam"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Naam"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Er is een fout gelogd door de server."
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URL van extern afbeeldingsbestand"
msgid "Downloading images from remote URL is not enabled"
msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Achtergrondwerker check is gefaald"
@@ -970,7 +970,7 @@ msgstr "Gevolgd"
msgid "Allocated"
msgstr "Toegewezen"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Productieorder"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Productieorders"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Productieorder waar deze productie aan is toegewezen"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Productieorder waar deze productie aan is toegewezen"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht"
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Externe Link"
@@ -1273,7 +1273,7 @@ msgstr "Productuitvoer komt niet overeen met de Productieorder"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Hoeveelheid moet groter zijn dan nul"
@@ -1315,7 +1315,7 @@ msgstr "Bouw object"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Een lijst van productieuitvoeren moet worden verstrekt"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr "In bestelling"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Voltooide Uitvoeren"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr "Tonen `over` beperken"
msgid "Show the `about` modal only to superusers"
msgstr "Toon de `over` modal alleen aan superusers"
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Bedrijfsnaam"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr "Eindpunt waarop deze webhook wordt ontvangen"
msgid "Name for this webhook"
msgstr "Naam van deze webhook"
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Actief"
@@ -3588,7 +3590,7 @@ msgstr "Actief"
msgid "Is this webhook active"
msgstr "Is deze webhook actief"
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Titel"
@@ -3678,7 +3680,7 @@ msgstr "Gelezen"
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr "Geïmporteerde onderdelen"
msgid "Previous Step"
msgstr "Vorige Stap"
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "URL bedrijfswebsite"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Telefoonnummer"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "Telefoonnummer voor contact"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "Contact e-mailadres"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr "Contactpunt"
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr "Link naar externe bedrijfsinformatie"
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "is klant"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "is leverancier"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "is fabrikant"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "Fabriceert dit bedrijf onderdelen?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf"
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Bedrijf"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr "Basis onderdeel"
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "Onderdeel selecteren"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Fabrikant"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Fabrikant selecteren"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Fabrikant artikel nummer (MPN)"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr "URL voor externe link van het fabrikant onderdeel"
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr "Omschrijving onderdeel fabrikant"
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "Fabrikant onderdeel"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "Parameternaam"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Waarde"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "Parameterwaarde"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "Eenheden"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr "Parameter eenheden"
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel"
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Leverancier"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Leverancier selecteren"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr "Selecteer fabrikant onderdeel"
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr "Opmerking"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr "basisprijs"
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimale kosten (bijv. voorraadkosten)"
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr "meerdere"
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr "Order meerdere"
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "Inkooporder aanmaken"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "Bedrijfsinformatie bewerken"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Bedrijf bewerken"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Bedrijf verwijderen"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Bedrijf verwijderen"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Bedrijf verwijderen"
msgid "Part image"
msgstr "Afbeelding onderdeel"
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Nieuwe afbeelding uploaden"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Afbeelding downloaden van URL"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Klant"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "Gebruik standaard valuta"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Adres"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Telefoon"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Inkooporders"
@@ -4391,7 +4437,7 @@ msgstr "Nieuwe Inkooporder"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr "Verkooporders"
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "Order onderdeel"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr "Fabrikant onderdeel bewerken"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr "Fabrikant onderdeel verwijderen"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Intern onderdeel"
@@ -4484,7 +4530,7 @@ msgstr "Geen fabrikanten informatie beschikbaar"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr "Leveranciersonderdeel"
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "Voorraadartikelen"
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr "Totaalprijs"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr "Inkooporder"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr "Leveranciersonderdeel moet overeenkomen met leverancier"
msgid "deleted"
msgstr "verwijderd"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Leveranciersonderdeel"
@@ -5507,12 +5573,6 @@ msgstr "Order Referentie"
msgid "Order Description"
msgstr "Order Beschrijving"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Geen leveranciersinformatie beschikbaar"
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Onderdelen"
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Binnenkomende Inkooporder"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Uitgaande Verkooporder"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Geproduceerde voorraad door Productieorder"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Voorraad vereist voor Productieorder"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr "Standaard locatie"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Totale Voorraad"
@@ -6065,7 +6119,7 @@ msgstr "Onderdeel Categorie"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Onderdeel Categorieën"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Ongeldige hoeveelheid"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr "Voorraadlocatie"
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "Voorraadlocaties"
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Verwijderen"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po
index 0766f8ebe7..290d59e772 100644
--- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -58,7 +58,7 @@ msgstr "Oppgi dato"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Oppgi dato"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Kinesisk (tradisjonell)"
msgid "[{site_name}] Log in to the app"
msgstr "[{site_name}] Logg inn på appen"
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "E-post"
@@ -405,14 +405,14 @@ msgstr "Vedlegg"
msgid "Select file to attach"
msgstr "Velg fil å legge ved"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Kommentar til fil"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Bruker"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Ugyldig valg"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Ugyldig valg"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Navn"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Navn"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "En feil har blitt logget av serveren."
msgid "Must be a valid number"
msgstr "Må være et gyldig tall"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URLtil ekstern bildefil"
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Sjekk av bakgrunnsarbeider mislyktes"
@@ -970,7 +970,7 @@ msgstr "Spores"
msgid "Allocated"
msgstr "Tildelt"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Produksjonsordre"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Produksjonsordrer"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produksjonsordre som denne produksjonen er tildelt"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Bruker eller gruppe ansvarlig for produksjonsordren"
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Ekstern lenke"
@@ -1273,7 +1273,7 @@ msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Mengden må være større enn null"
@@ -1315,7 +1315,7 @@ msgstr "Produksjonsobjekt"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "En liste over produksjonsartikler må oppgis"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr "Tildelt lagerbeholdning"
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr "Tildelt lagerbeholdning"
msgid "On Order"
msgstr "I bestilling"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "I produksjon"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Fullførte byggeresultater"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr "Begrens visning av 'om'"
msgid "Show the `about` modal only to superusers"
msgstr "Vis `about`-modal kun til superbrukere"
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Firmanavn"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr "Antall for prisbrudd"
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr "Endepunktet hvor denne webhooken er mottatt"
msgid "Name for this webhook"
msgstr "Navn for webhooken"
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Aktiv"
@@ -3588,7 +3590,7 @@ msgstr "Aktiv"
msgid "Is this webhook active"
msgstr "Er webhooken aktiv"
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr "Sjetong"
@@ -3652,7 +3654,7 @@ msgstr "Var arbeidet med denne meldingen ferdig?"
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Tittel"
@@ -3678,7 +3680,7 @@ msgstr "Les"
msgid "Was this news item read?"
msgstr "Er dette nyhetselementet lest?"
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr "{verbose_name} kansellert"
msgid "A order that is assigned to you was canceled"
msgstr "En ordre som er tildelt til deg ble kansellert"
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Artikler mottatt"
@@ -3848,270 +3850,294 @@ msgstr "Deler importert"
msgid "Previous Step"
msgstr "Forrige trinn"
-#: company/models.py:113
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
+msgstr ""
+
+#: company/models.py:114
msgid "Company description"
msgstr "Beskrivelse av firma"
-#: company/models.py:114
+#: company/models.py:115
msgid "Description of the company"
msgstr "Beskrivelse av firmaet"
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "Nettside"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "Bedriftens nettside URL"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Telefonnummer"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "Kontakt-telefonnummer"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "Kontakt e-post"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr "Kontaktpunkt"
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr "Link til ekstern bedriftsinformasjon"
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "er kunde"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr "Selger du varer til dette firmaet?"
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "er leverandør"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr "Kjøper du varer fra dette firmaet?"
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "er produsent"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "Produserer dette firmaet deler?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr "Standardvaluta brukt for dette firmaet"
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Firma"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr "Velg selskap"
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr "Adressetittel"
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr "Tittel som beskriver addressen"
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr "Hovedadresse"
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr "Sett som hovedadresse"
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr "Linje 1"
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr "Adresselinje 1"
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr "Linje 2"
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr "Adresselinje 2"
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr "Postnummer"
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr "Poststed/område"
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr "Postnummerets by/område"
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr "Delstat/provins"
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr "Delstat eller provins"
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr "Land"
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr "Adressens land"
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr "Notater til transportør"
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr "Notater for transportør"
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr "Interne fraktnotater"
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr "Fraktnotater for internt bruk"
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr "Lenke til adresseinformasjon (ekstern)"
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr "Basisdel"
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "Velg del"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Produsent"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Velg produsent"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Produsentens varenummer"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr "URL for ekstern produsentdel-lenke"
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr "Produsentens delbeskrivelse"
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "Produsentdeler"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "Parameternavn"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Verdi"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "Parameterverdi"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "Enheter"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr "Parameterenheter"
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr "Pakkeenhetene må være komptible med delens basisenhet"
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr "Pakkeenhet må være mer enn null"
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel"
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel"
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Leverandør"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Velg leverandør"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr "Leverandørens lagerbeholdningsenhet"
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr "Velg produsentdel"
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr "URL for ekstern leverandørdel-lenke"
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr "Leverandørens delbeskrivelse"
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr "Leverandørens delbeskrivelse"
msgid "Note"
msgstr "Notat"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr "grunnkostnad"
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimum betaling (f.eks. lageravgift)"
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr "Emballasje"
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr "Delemballasje"
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr "Delemballasje"
msgid "Pack Quantity"
msgstr "Pakkeantall"
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Totalt antall i en enkelt pakke. La være tom for enkeltenheter."
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr "flere"
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr "Bestill flere"
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr "Antall tilgjengelig fra leverandør"
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr "Tilgjengelighet oppdatert"
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr "Dato for siste oppdatering av tilgjengelighetsdata"
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr "Standardvaluta brukt for denne leverandøren"
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr "På lager"
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr "Inaktiv"
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "Opprett Innkjøpsordre"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr "Firmavalg"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "Rediger firmainformasjon"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Rediger Firma"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Slett firma"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Slett Firma"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Slett Firma"
msgid "Part image"
msgstr "Bilde av del"
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Last opp nytt bilde"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Last ned bilde fra URL"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr "Slett bilde"
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Kunde"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "Bruker standardvaluta"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Adresse"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Telefon"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr "Fjern"
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr "Leverandørs lagerbeholdning"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Innkjøpsordrer"
@@ -4391,7 +4437,7 @@ msgstr "Ny innkjøpsordre"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr "Salgsordre"
@@ -4416,7 +4462,7 @@ msgstr "Tildelt lagerbeholdning"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr "Returordrer"
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "Bestill del"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr "Endre produsentdel"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr "Slett produsentdel"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Intern del"
@@ -4484,7 +4530,7 @@ msgstr "Ingen produsentinformasjon tilgjengelig"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr "Adresser"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr "Leverandørdel"
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr "Handlinger for leverandørdeler"
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "Lagervarer"
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Ukjent"
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr "Total pris"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Ordrestatus"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Ingen samsvarende innkjøpsordre funnet"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Ordre"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr "Ingen samsvarende innkjøpsordre funnet"
msgid "Purchase Order"
msgstr "Innkjøpsordre"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr "Delens leverandør må samsvare med leverandør"
msgid "deleted"
msgstr "slettet"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Ordre"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Leverandørdel"
@@ -5507,12 +5573,6 @@ msgstr "Ordrereferanse"
msgid "Order Description"
msgstr "Ordrebeskrivelse"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Ordrestatus"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Ingen leverandørinformasjon tilgjengelig"
@@ -5881,12 +5941,6 @@ msgstr "Variant av"
msgid "Minimum Stock"
msgstr "Minimal lagerbeholdning"
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr "På lager"
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Brukt i"
@@ -5927,7 +5981,7 @@ msgstr "Sti til kategori"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Deler"
@@ -5947,92 +6001,92 @@ msgstr "Overodnet IPN"
msgid "Part IPN"
msgstr "Del -IPN"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Minstepris"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Makspris"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Innkommende innkjøpsordre"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Utgående salgsordre"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Lagervarer produsert av en produksjonsordre"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Lagervarer påkrevd for produksjonsordre"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Gyldig"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr "Godkjenn hele Stykklisten"
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Dette alternativet må være valgt"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr "Dette alternativet må være valgt"
msgid "Category"
msgstr "Kategori"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr "Standard plassering"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Total lagerbeholdning"
@@ -6065,7 +6119,7 @@ msgstr "Delkategori"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Delkategorier"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr "Parameterbeskrivelse"
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr "Sjekkboks"
@@ -6867,209 +6921,209 @@ msgstr "Produsentdel som matcher dette MPN-et, finnes allerede"
msgid "Supplier part matching this SKU already exists"
msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede"
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Dupliser del"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr "Kopier innledende data fra en annen del"
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Innledende lagerbeholdning"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr "Lag en del med innledende lagermengde"
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr "Leverandøropplysninger"
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr "Legg til innledende leverandørinformasjon for denne delen"
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Kopier kategoriparametre"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Kopier parametermaler fra valgt delkategori"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr "Eksisterende bilde"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr "Filnavn for et eksisterende del-bilde"
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr "Bildefilen finnes ikke"
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen"
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier"
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer"
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr "Ekskluder ekstern lagerbeholdning"
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr "Ekskluder lagervarer i eksterne lokasjoner"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Generer rapport"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr "Genererer rapport som inneholder beregnede lagerdata"
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Oppdater deler"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata"
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert"
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr "Overstyr beregnet verdi for minimumspris"
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr "Valuta for minstepris"
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr "Overstyr beregnet verdi for maksimal pris"
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr "Valuta for maksimal pris"
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Oppdater"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Oppdater priser for denne delen"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Kan ikke konvertere fra gitte valutaer til {default_currency}"
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr "Minsteprisen kan ikke være større enn maksimal pris"
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr "Maksimal pris kan ikke være mindre enn minstepris"
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr "Velg del å kopiere BOM fra"
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Fjern eksisterende data"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr "Fjern eksisterende BOM-artikler før kopiering"
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr "Inkluder arvede"
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr "Inkluder BOM-artikler som er arvet fra maldeler"
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Hopp over ugyldige rader"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr "Kopier erstatningsdeler"
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres"
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Nullstill eksisterende BOM"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr "Fjern eksisterende BOM-artikler før opplastning"
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr "Ingen del-kolonne angitt"
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr "Flere samsvarende deler funnet"
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Ingen samsvarende del funnet"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr "Delen er ikke betegnet som en komponent"
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Antall ikke oppgitt"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Ugyldig antall"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr "Minst en BOM-artikkel kreves"
@@ -7227,7 +7281,7 @@ msgstr "Legg til lagertellingsinformasjon"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr "Lagertelling"
@@ -7458,14 +7512,6 @@ msgstr "Delen kan selges til kunder"
msgid "Part is not active"
msgstr "Delen er ikke aktiv"
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr "Inaktiv"
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr "Delen er virtuall (ikke en fysisk del)"
@@ -7633,8 +7679,8 @@ msgstr "Rediger"
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr "Sist oppdatert"
@@ -8202,7 +8248,7 @@ msgstr "Konfigurasjon av utvidelse"
msgid "Plugin Configurations"
msgstr "Konfigurasjon av utvidelser"
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr "Nøkkel"
@@ -8705,7 +8751,7 @@ msgstr "Slett når oppbrukt"
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr "Utløpsdato"
@@ -8786,7 +8832,7 @@ msgstr "Lagerplassering"
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "Lagerplasseringer"
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Denne lagervaren utløp %(item.expiry_date)s"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr "Utløpt"
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Slett"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr "Ubekreftet"
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr "Primær"
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "Legg til"
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr "Vis varsler"
msgid "New Notifications"
msgstr "Nye varslinger"
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr "Administrator"
@@ -14113,7 +14154,7 @@ msgstr "Tillatelser"
msgid "Important dates"
msgstr "Viktige datoer"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr "Token er tilbakekalt"
@@ -14121,67 +14162,67 @@ msgstr "Token er tilbakekalt"
msgid "Token has expired"
msgstr "Token har utløpt"
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr "API-Token"
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr "API-Tokener"
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr "Tokennavn"
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr "Egendefinert tokennavn"
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr "Token utløpsdato"
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr "Sist sett"
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr "Sist gang tokenet ble brukt"
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr "Tilbakekalt"
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "Tillatelse satt"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Gruppe"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Visning"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Tillatelse til å se elementer"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Tillatelse til å legge til elementer"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Endre"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Tillatelse til å endre elementer"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Tillatelse til å slette elementer"
diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po
index 14ca440cd8..66c4f00316 100644
--- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -58,7 +58,7 @@ msgstr "Wprowadź dane"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Wprowadź dane"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "chiński (tradycyjny)"
msgid "[{site_name}] Log in to the app"
msgstr "[{site_name}] Logowanie do aplikacji"
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "Adres E-Mail"
@@ -405,14 +405,14 @@ msgstr "Załącznik"
msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Komentarz pliku"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Użytkownik"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Błędny wybór"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Błędny wybór"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Nazwa"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Nazwa"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Błąd został zapisany w logach serwera."
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "Adres URL zdalnego pliku obrazu"
msgid "Downloading images from remote URL is not enabled"
msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Sprawdzenie robotnika w tle nie powiodło się"
@@ -970,7 +970,7 @@ msgstr "Śledzony"
msgid "Allocated"
msgstr "Przydzielono"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Zlecenie Budowy"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Zlecenia budowy"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji"
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Link Zewnętrzny"
@@ -1273,7 +1273,7 @@ msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Ilość musi być większa niż zero"
@@ -1315,7 +1315,7 @@ msgstr "Zbuduj obiekt"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr "W Zamówieniu"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "W produkcji"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Nazwa firmy"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Aktywny"
@@ -3588,7 +3590,7 @@ msgstr "Aktywny"
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr "Poprzedni krok"
-#: company/models.py:113
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
+msgstr ""
+
+#: company/models.py:114
msgid "Company description"
msgstr "Opis firmy"
-#: company/models.py:114
+#: company/models.py:115
msgid "Description of the company"
msgstr "Opis firmy"
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "Strona WWW"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "Witryna internetowa firmy"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Numer telefonu"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "Numer telefonu kontaktowego"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "Kontaktowy adres e-mail"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr "Punkt kontaktowy"
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr "Link do informacji o zewnętrznym przedsiębiorstwie"
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "jest klientem"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr "Czy sprzedajesz produkty tej firmie?"
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "jest dostawcą"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr "Czy kupujesz przedmioty od tej firmy?"
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "jest producentem"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "Czy to przedsiębiorstwo produkuje części?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Firma"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr "Część bazowa"
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "Wybierz część"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Producent"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Wybierz producenta"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Numer producenta komponentu"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "Komponent producenta"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Wartość"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "Jednostki"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr "Jednostki parametru"
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Dostawca"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Wybierz dostawcę"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr "Uwaga"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr "koszt podstawowy"
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr "Opakowanie"
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr "Opakowanie części"
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr "Opakowanie części"
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr "wielokrotność"
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr "Domyślna waluta używana dla tego dostawcy"
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr "Na stanie"
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr "Nieaktywny"
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "Utwórz zamówienie zakupu"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Edytuj firmę"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Usuń firmę"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Usuń firmę"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Usuń firmę"
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Prześlij nowy obraz"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Pobierz obraz z adresu URL"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Klient"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "Używa domyślnej waluty"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Adres"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Telefon"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr "Zapasy dostawcy"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Zlecenia zakupu"
@@ -4391,7 +4437,7 @@ msgstr "Nowe zamówienie zakupu"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "Zamów komponent"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr "Edytuj komponent producenta"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr "Usuń komponent producenta"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Komponent wewnętrzny"
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "Towary"
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr "Cena całkowita"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Status zamówienia"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Nie znaleziono pasującego zlecenia zakupu"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Zamówienie"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr "Nie znaleziono pasującego zlecenia zakupu"
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Zamówienie"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr "Numer zamówienia"
msgid "Order Description"
msgstr "Opis zamówienia"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Status zamówienia"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr "Wariant"
msgid "Minimum Stock"
msgstr "Minimalny stan magazynowy"
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr "Na stanie"
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Użyte w"
@@ -5927,7 +5981,7 @@ msgstr "Ścieżka kategorii"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Części"
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr "IPN komponentu"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Nadchodzące zlecenie zakupu"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Ważny"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Ta opcja musi być zaznaczona"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr "Ta opcja musi być zaznaczona"
msgid "Category"
msgstr "Kategoria"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr "Domyślna lokalizacja"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr "Kategoria komponentu"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Kategorie części"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Duplikuj część"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Usuń istniejące dane"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Pomiń nieprawidłowe wiersze"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Wyczyść istniejący BOM"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Nie podano ilości"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Nieprawidłowa ilość"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr "Nieaktywny"
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr "Część jest wirtualna (nie fizyczna)"
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr "Ostatnia aktualizacja"
@@ -8202,7 +8248,7 @@ msgstr "Konfiguracja wtyczki"
msgid "Plugin Configurations"
msgstr "Konfiguracja wtyczek"
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr "Klucz"
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr "Data ważności"
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "Lokacje stanu magazynowego"
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr "Termin minął"
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Usuń"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "Dodaj"
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr "Pokaż powiadomienia"
msgid "New Notifications"
msgstr "Nowe powiadomienia"
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr "Uprawnienia"
msgid "Important dates"
msgstr "Ważne daty"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "Uprawnienia nadane"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Grupa"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Widok"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Uprawnienie do wyświetlania przedmiotów"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Uprawnienie do dodawania przedmiotów"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Zmień"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Uprawnienie do edycji przedmiotów"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Uprawnienie do usuwania przedmiotów"
diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po
index 601a5c244d..63d0044f62 100644
--- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -58,7 +58,7 @@ msgstr ""
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr ""
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr ""
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po
index 44818353b6..2265c30193 100644
--- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -58,7 +58,7 @@ msgstr "Введите дату"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Введите дату"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Китайский (Традиционный)"
msgid "[{site_name}] Log in to the app"
msgstr "[{site_name}] Войти в приложение"
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "EMail"
@@ -405,14 +405,14 @@ msgstr "Вложения"
msgid "Select file to attach"
msgstr "Выберите файл для вложения"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Комментарий к файлу"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Пользователь"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Неверный выбор"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Неверный выбор"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Название"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Название"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Сервер зарегистрировал ошибку."
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "ССЫЛКА файла изображения на удаленном
msgid "Downloading images from remote URL is not enabled"
msgstr "Загрузка изображений с удаленного URL-адреса не включена"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Проверка фонового работника не удалась"
@@ -970,7 +970,7 @@ msgstr "Отслеживается"
msgid "Allocated"
msgstr "Зарезервировано"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Заказ на производство"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Заказы на производство"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Заказ на производство, которому принадлежит этот заказ на производство"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Заказ на производство, которому принад
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Пользователь, ответственный за этот за
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Внешняя ссылка"
@@ -1273,7 +1273,7 @@ msgstr "Продукция не совпадает с заказом на про
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Количество должно быть больше нуля"
@@ -1315,7 +1315,7 @@ msgstr "Объект производства"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Необходимо представить список выхода деталей"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr "Зарезервированные Запасы"
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr "Зарезервированные Запасы"
msgid "On Order"
msgstr "В заказе"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "В производстве"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Завершенная продукция"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr "Ограничить отображение `О...`"
msgid "Show the `about` modal only to superusers"
msgstr "Показать `О...` только суперпользователям"
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Название компании"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Активный"
@@ -3588,7 +3590,7 @@ msgstr "Активный"
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr "Токен"
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr "Код"
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Заголовок"
@@ -3678,7 +3680,7 @@ msgstr "Читать"
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Полученные элементы"
@@ -3848,270 +3850,294 @@ msgstr "Детали импортированы"
msgid "Previous Step"
msgstr "Предыдущий шаг"
-#: company/models.py:113
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
+msgstr ""
+
+#: company/models.py:114
msgid "Company description"
msgstr "Описание компании"
-#: company/models.py:114
+#: company/models.py:115
msgid "Description of the company"
msgstr "Описание компании"
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "Сайт"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "Сайт компании"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Телефон"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "Контактный телефон"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "Контактный EMail"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "Контакт"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr "Контактное лицо"
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr "Ссылка на описание компании"
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "покупатель"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr "Вы продаёте детали этой компании?"
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "поставщик"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr "Вы закупаете детали у этой компании?"
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "производитель"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "Является ли компания производителем деталей?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr "Для этой компании используется валюта по умолчанию"
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Компания"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr "Выберите компанию"
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr "Заголовок адреса"
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr "Строка 1"
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr "Адресная строка 1"
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr "Строка 2"
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr "Адресная строка 2"
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr "Почтовый индекс"
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr "Город/Регион"
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr "Регион/Область"
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr "Страна"
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr "Страна адреса"
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr "Записи отправления"
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr "Записи для курьера"
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr "Внутренние записи отправления"
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr "Записи отправления для внутреннего пользования"
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr "Базовая деталь"
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "Выберите деталь"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Производитель"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Выберите производителя"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Код производителя"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr "Ссылка на сайт производителя"
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "Деталь производителя"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "Наименование параметра"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Значение"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "Значение параметра"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "Ед.изм"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr "Единицы измерения параметра"
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Поставщик"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Выберите поставщика"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr "Код поставщика"
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr "Выберите производителя части"
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr "Ссылка на сайт поставщика"
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr "Запись"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr "базовая стоимость"
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr "Упаковка"
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr "Упаковка детали"
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr "Упаковка детали"
msgid "Pack Quantity"
msgstr "Кол-во в упаковке"
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr "множественные"
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr "Кратность заказа"
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr "Валюта по умолчанию для этого поставщика"
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr "На складе"
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr "Неактивный"
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "Создать заказ на закупку"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr "Действия с компанией"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "Редактировать информацию о компании"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Редактировать компанию"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Удалить компанию"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Удалить компанию"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Удалить компанию"
msgid "Part image"
msgstr "Изображение детали"
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Загрузить новое изображение"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Скачать изображение по ссылке"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr "Удалить изображение"
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Покупатель"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "Использовать валюту по умолчанию"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Адрес"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Телефон"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr "Удалить Изображение"
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr "Удалить"
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr "Загрузить Изображение"
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr "Скачать изображение"
@@ -4368,7 +4414,7 @@ msgstr "Склад поставщика"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Заказы на закупку"
@@ -4391,7 +4437,7 @@ msgstr "Новый заказ на закупку"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr "Заказы на продажу"
@@ -4416,7 +4462,7 @@ msgstr "Назначенный Запас"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr "Заказы на возврат"
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "Заказать деталь"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Внутренняя деталь"
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr "Адреса"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr "Деталь поставщика"
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "Складские позиции"
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Неизвестно"
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr "Общая стоимость"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Статсу заказа"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr "Имеет цену"
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Заказ"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr "Заказ на закупку"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr "удалено"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Заказ"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Деталь поставщика"
@@ -5507,12 +5573,6 @@ msgstr "Ссылка на заказ"
msgid "Order Description"
msgstr "Описание заказа"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Статсу заказа"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr "Разновидность"
msgid "Minimum Stock"
msgstr "Минимальный запас"
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr "На складе"
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Используется в"
@@ -5927,7 +5981,7 @@ msgstr "Путь к категории"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Детали"
@@ -5947,92 +6001,92 @@ msgstr "Родительский IPN"
msgid "Part IPN"
msgstr "IPN детали"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Минимальная цена"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Максимальная цена"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Остатки произведенные заказом на производство"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Остатки требуемые для заказов на производство"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Корректный"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Необходимо выбрать эту опцию"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr "Необходимо выбрать эту опцию"
msgid "Category"
msgstr "Категория"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr "Место хранения по умолчанию"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Общий запас"
@@ -6065,7 +6119,7 @@ msgstr "Категория детали"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Категория детали"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr "Чекбокс"
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Дублировать деталь"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Начальный запас"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Копировать параметры категории"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Копировать шаблоны параметров из выбранной категории деталей"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr "Существующее изображение"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr "Исключить складские позиции в внешних местах хранения"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Создать отчет"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Обновить детали"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Обновить"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Подходящая деталь не найдена"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Некорректное количество"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr "Инвентаризация"
@@ -7458,14 +7512,6 @@ msgstr "Деталь может быть продана покупателям"
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr "Неактивный"
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr "Редактировать"
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr "Последнее обновление"
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr "Ключ"
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr "Истекает"
@@ -8786,7 +8832,7 @@ msgstr "Место хранения"
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "Места хранения"
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr "Просрочен"
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Удалить"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr "Непроверенный"
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr "Основной"
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr "Добавить новую компанию"
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr "Поставленные Детали"
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr "Изменить контакт"
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr "Роль"
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr "Удалить контакты"
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr "Номер телефона"
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr "Адрес электронной почты"
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr "Удалить Контакт"
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr "Редактировать адрес"
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr "Удалить адрес"
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr "Почтовый индекс"
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr "Регион/Область"
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr "Записи Курьера"
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr "Внутренние записи"
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr "Удалить Адрес"
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr "Заказать детали"
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr "Деталь-шаблон"
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr "Производимая Деталь"
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr "Редактировать параметр"
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr "Удалить параметр"
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr "Редактировать параметр"
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr "Удалить параметр"
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr "Базовая Единица"
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr "Доступность"
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr "Изменить разрыв цен"
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr "Последнее обновление"
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr "Изменить разрыв цен"
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr "Взять"
msgid "Add Stock"
msgstr "Добавить Запасы"
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "Добавить"
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr "Имеет цену"
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr "Доступный запас"
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr "Имеет Ед. Изм."
@@ -13820,7 +13861,7 @@ msgstr "Можно купить"
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr "Имеет Варианты"
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr "Админ"
@@ -14113,7 +14154,7 @@ msgstr "Права доступа"
msgid "Important dates"
msgstr "Важные даты"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr "Токены API"
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr "Название токена"
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr "Последнее Посещение"
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr "Отозван"
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "Права доступа"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Группа"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Вид"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Разрешение на просмотр элементов"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Разрешение на добавление элементов"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Изменить"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Разрешение на редактирование элементов"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Разрешение на удаление элементов"
diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po
index eba898f432..025a1c52be 100644
--- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Language: sk_SK\n"
@@ -58,7 +58,7 @@ msgstr ""
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr ""
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr ""
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po
index fbcff2ac02..4b6453542d 100644
--- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -58,7 +58,7 @@ msgstr "Vnesi datum"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Vnesi datum"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Kitajščina (tradicionalno)"
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "E-pošta"
@@ -405,14 +405,14 @@ msgstr "Priloga"
msgid "Select file to attach"
msgstr "Izberite prilogo"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Komentar datoteke"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Uporabnik"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Nedovoljena izbira"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Nedovoljena izbira"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Ime"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Ime"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Zaznana napaka na strežniku."
msgid "Must be a valid number"
msgstr "Mora biti veljavna številka"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "Povezava do oddaljene slike"
msgid "Downloading images from remote URL is not enabled"
msgstr "Prenos slik iz oddaljene povezave ni omogočen"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Nadzor dela v ozadju neuspel"
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Nalog izgradnje"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Nalogi izgradnje"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Zunanja povezava"
@@ -1273,7 +1273,7 @@ msgstr "Izgradnja se ne ujema s nalogom izdelave"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po
index b90f1cfc5f..a7b07cb81c 100644
--- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:20\n"
"Last-Translator: \n"
"Language-Team: Serbian (Latin)\n"
"Language: sr_CS\n"
@@ -58,7 +58,7 @@ msgstr "Unesite datum"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Unesite datum"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Kineski (Tradicionalni)"
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "E-Pošta"
@@ -405,14 +405,14 @@ msgstr "Prilog"
msgid "Select file to attach"
msgstr "Izaberite datoteku za prilog"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Datoteka komentara"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Korisnik"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Nevažeći izvor"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Nevažeći izvor"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Ime"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Ime"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Server je zabležio grešku."
msgid "Must be a valid number"
msgstr "Mora biti važeći broj"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URL udaljene slike"
msgid "Downloading images from remote URL is not enabled"
msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Provera pozadinskog radnika nije uspjela"
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Nalog za izradu"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Nalozi za izradu"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po
index 0c269716b1..38d3a3518b 100644
--- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -58,7 +58,7 @@ msgstr "Ange datum"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Ange datum"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Kinesiska (Traditionell)"
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "E-postadress"
@@ -405,14 +405,14 @@ msgstr "Bilaga"
msgid "Select file to attach"
msgstr "Välj fil att bifoga"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Fil kommentar"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Användare"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Ogiltigt val"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Ogiltigt val"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Namn"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Namn"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Ett fel har loggats av servern."
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URL för fjärrbildsfil"
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Kontroll av bakgrundsarbetare misslyckades"
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Byggorder"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Byggordrar"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Byggorder till vilken detta bygge är tilldelad"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Byggorder till vilken detta bygge är tilldelad"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Extern länk"
@@ -1273,7 +1273,7 @@ msgstr "Byggutgång matchar inte bygg order"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Företagsnamn"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr "Företagsbeskrivning"
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "Webbplats"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Telefonnummer"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
-msgstr ""
+msgstr "Kontakt"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "är kund"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Företag"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr "Välj företag"
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr "Postnummer"
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr "Land"
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Leverantör"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Välj leverantör"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr "I lager"
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Redigera företag"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Radera företag"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Radera företag"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Radera företag"
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr "Radera bild"
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Kund"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Adress"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Telefon"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr "Adresser"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Orderstatus"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5161,7 +5227,7 @@ msgstr ""
#: order/models.py:1697
msgid "Invoice Number"
-msgstr ""
+msgstr "Fakturanummer"
#: order/models.py:1698
msgid "Reference number for associated invoice"
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Orderstatus"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5863,7 +5923,7 @@ msgstr ""
#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222
msgid "Category Name"
-msgstr ""
+msgstr "Kategorinamn"
#: part/admin.py:71 part/admin.py:314
msgid "Default Location ID"
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr "I lager"
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Artiklar"
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr "Kategori"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Generera rapport"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Uppdatera"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr "Redigera"
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr "Senast uppdaterad"
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8404,11 +8450,11 @@ msgstr ""
#: report/helpers.py:15
msgid "A4"
-msgstr ""
+msgstr "A4"
#: report/helpers.py:16
msgid "A3"
-msgstr ""
+msgstr "A3"
#: report/helpers.py:17
msgid "Legal"
@@ -8574,7 +8620,7 @@ msgstr ""
#: templates/js/translated/sales_order.js:1696
#: templates/js/translated/stock.js:596
msgid "Serial Number"
-msgstr ""
+msgstr "Serienummer"
#: report/templates/report/inventree_slr_report.html:97
msgid "Stock location items"
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9432,7 +9478,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:317
msgid "previous page"
-msgstr ""
+msgstr "föregående sida"
#: stock/templates/stock/item_base.html:317
msgid "Navigate to previous serial number"
@@ -9440,7 +9486,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:326
msgid "next page"
-msgstr ""
+msgstr "nästa sida"
#: stock/templates/stock/item_base.html:326
msgid "Navigate to next serial number"
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -9634,7 +9680,7 @@ msgstr ""
#: templates/403_csrf.html:14
msgid "You have been logged out from InvenTree."
-msgstr ""
+msgstr "Du har blivit utloggad från InvenTree."
#: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29
#: templates/navbar.html:150
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Radera"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr "Lägg till nytt företag"
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr "Skapa ny kontakt"
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr "Redigera kontakt"
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr "Roll"
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr "Radera kontakter"
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr "Inga kontakter hittades"
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr "Telefonnummer"
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr "E-postadress"
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr "Radera kontakt"
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr "Skapa ny adress"
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr "Redigera adress"
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr "Radera adresser"
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr "Inga adresser hittades"
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr "Radera adress"
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -12414,7 +12460,7 @@ msgstr "Ingen kategori"
#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661
#: templates/js/translated/stock.js:2669
msgid "Display as list"
-msgstr ""
+msgstr "Visa som lista"
#: templates/js/translated/part.js:2547
msgid "Display as grid"
@@ -12430,7 +12476,7 @@ msgstr ""
#: templates/js/translated/part.js:2761
msgid "Load Subcategories"
-msgstr ""
+msgstr "Ladda underkategorier"
#: templates/js/translated/part.js:2777
msgid "Subscribed category"
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "Lägg till"
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po
index 03713dfb62..8105dcce9b 100644
--- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:20\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -58,7 +58,7 @@ msgstr "ป้อนวันที่"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "ป้อนวันที่"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "อีเมล"
@@ -405,14 +405,14 @@ msgstr "ไฟล์แนบ"
msgid "Select file to attach"
msgstr "เลือกไฟล์ที่ต้องการแนบ"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "ความเห็นของไฟล์"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "ผู้ใช้งาน"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "ชื่อ"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "ชื่อ"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr "ต้องเป็นตัวเลข"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "จำนวนต้องมีค่ามากกว่า 0"
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "ชิ้นส่วน"
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po
index d538436294..256e4a1fe9 100644
--- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -58,7 +58,7 @@ msgstr "Tarih giriniz"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Tarih giriniz"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Çince (Geleneksel)"
msgid "[{site_name}] Log in to the app"
msgstr "[{site_name}] Uygulamaya giriş yap"
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "E-posta"
@@ -405,14 +405,14 @@ msgstr "Ek"
msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Dosya yorumu"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Kullanıcı"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Geçersiz seçim"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Geçersiz seçim"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Adı"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Adı"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Bir hafta sunucu tarafından kayıt edildi."
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "Uzaktan görüntü dosya URL'si"
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Arka plan çalışanı kontrolü başarısız oldu"
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Yapım İşi Emri"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Yapım İşi Emirleri"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Harici Bağlantı"
@@ -1273,7 +1273,7 @@ msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Şirket adı"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Aktif"
@@ -3588,7 +3590,7 @@ msgstr "Aktif"
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "Şirket web sitesi"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Telefon numarası"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "İletişim telefon numarası"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "İletişim e-posta adresi"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "İletişim"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "müşteri mi"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr "Bu şirkete ürün satıyor musunuz?"
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "tedarikçi mi"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr "Bu şirketten ürün satın alıyor musunuz?"
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "üretici mi"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "Bu şirket üretim yapıyor mu?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr "Bu şirket için varsayılan para birimi"
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr "Temel Parça"
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "Parça seçin"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Üretici"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Üretici seçin"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr "ÜPN"
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Üretici Parça Numarası"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "Parametre adı"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Değer"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "Parametre değeri"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Tedarikçi"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Tedarikçi seçin"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr "Not"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr "temel maliyet"
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr "Paketleme"
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr "çoklu"
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr "Pasif"
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "Satın Alma Emri Oluştur"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Müşteri"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Adres"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr "Tedarikçi Stoku"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Satın Alma Emirleri"
@@ -4391,7 +4437,7 @@ msgstr "Yeni Satın Alma Emri"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr "Satış Emirleri"
@@ -4416,7 +4462,7 @@ msgstr "Atanan Stok"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "Parça siparişi"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr "Tedarikçi Parçası"
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "Stok Kalemleri"
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr "Çeşidi"
msgid "Minimum Stock"
msgstr "Minimum Stok"
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Parçalar"
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr "Varsayılan Konum"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Parça Kategorileri"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr "Pasif"
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr "Stok Konumu"
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "Stok Konumları"
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr "Bildirimleri Göster"
msgid "New Notifications"
msgstr "Yeni Bildirimler"
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr "Yetkiler"
msgid "Important dates"
msgstr "Önemli tarihler"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "İzinleri ayarla"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Grup"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Görünüm"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Parçayı görüntüleme izni"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Parça ekleme izni"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Değiştir"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Parçaları düzenleme izni"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Parçaları silme izni"
diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po
index 35af75d23e..0dd2fb4c1b 100644
--- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -58,7 +58,7 @@ msgstr "Nhập ngày"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr "Nhập ngày"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr "Tiếng Trung (Phồn thể)"
msgid "[{site_name}] Log in to the app"
msgstr "[{site_name}] Đăng nhập vào ứng dụng"
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr "Đính kèm"
msgid "Select file to attach"
msgstr "Chọn file đính kèm"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr "Bình luận tệp tin"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "Người dùng"
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr "Lựa chọn sai"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr "Lựa chọn sai"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr "Tên"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr "Tên"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr "Lỗi đã được ghi lại bởi máy chủ."
msgid "Must be a valid number"
msgstr "Phải là một số hợp lệ"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr "URL của tệp hình ảnh bên ngoài"
msgid "Downloading images from remote URL is not enabled"
msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "Nhân công chạy ngầm kiểm tra thất bại"
@@ -970,7 +970,7 @@ msgstr "Đã theo dõi"
msgid "Allocated"
msgstr "Đã cấp phát"
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr "Tạo đơn hàng"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "Tạo đơn hàng"
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Đơn đặt bản dựng với bản dựng này đã được phân bổ"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "Liên kết bên ngoài"
@@ -1273,7 +1273,7 @@ msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "Số lượng phải lớn hơn 0"
@@ -1315,7 +1315,7 @@ msgstr "Dựng đối tượng"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr "Danh sách đầu ra bản dựng phải được cung cấp"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr "Bật đơn hàng"
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "Đang sản xuất"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr "Đầu ra hoàn thiện"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr "Cấm hiển thị `giới thiệu`"
msgid "Show the `about` modal only to superusers"
msgstr "Chỉ hiển thị cửa sổ `giới thiệu` với siêu người dùng"
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "Tên công ty"
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr "Số lượng giá phá vỡ"
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr "Đầu mối tại điểm webhook được nhận"
msgid "Name for this webhook"
msgstr "Tên của webhook này"
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr "Hoạt động"
@@ -3588,7 +3590,7 @@ msgstr "Hoạt động"
msgid "Is this webhook active"
msgstr "Webhook có hoạt động không"
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr "Chữ ký số"
@@ -3652,7 +3654,7 @@ msgstr "Công việc trong tin nhắn này đã kết thúc?"
msgid "Id"
msgstr "Mã"
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr "Tiêu đề"
@@ -3678,7 +3680,7 @@ msgstr "Đọc"
msgid "Was this news item read?"
msgstr "Tin này đã được đọc?"
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr "{verbose_name} đã bị hủy"
msgid "A order that is assigned to you was canceled"
msgstr "Một đơn đặt từng được phân công cho bạn đã bị hủy bỏ"
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr "Mục đã nhận"
@@ -3848,270 +3850,294 @@ msgstr "Hàng hóa đã được nhập vào"
msgid "Previous Step"
msgstr "Bước trước"
-#: company/models.py:113
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
+msgstr ""
+
+#: company/models.py:114
msgid "Company description"
msgstr "Mô tả công ty"
-#: company/models.py:114
+#: company/models.py:115
msgid "Description of the company"
msgstr "Mô tả của công ty"
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "Trang web"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "URL trang web của công ty"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "Số điện thoại"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "Số điện thoại liên hệ"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "Địa chỉ email liên hệ"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "Liên hệ"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr "Đầu mối liên hệ"
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr "Liên kết đến thông tin công ty ngoài"
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr "là khách hàng"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr "Bạn có bán hàng cho công ty này?"
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "là nhà cung cấp"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr "Bạn có mua hàng từ công ty này?"
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "là nhà sản xuất"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "Công ty này có sản xuất sản phẩm?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr "Tiền tệ mặc định dùng cho công ty này"
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "Doanh nghiêp"
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr "Chọn doanh nghiệp"
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr "Tiêu đề địa chỉ"
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr "Tiêu đề mô tả mục địa chỉ"
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr "Địa chỉ chính"
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr "Đặt làm địa chỉ chính"
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr "Dòng 1"
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr "Địa chỉ dòng 1"
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr "Dòng 2"
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr "Địa chỉ dòng 2"
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr "Mã bưu chính"
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr "Thành phố/Vùng"
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr "Mã bưu chính thành phố/vùng"
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr "Bang/Tỉnh"
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr "Bang hay tỉnh"
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr "Quốc gia"
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr "Địa chỉ quốc gia"
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr "Ghi chú vận chuyển"
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr "Ghi chú dành cho chuyển phát nhanh"
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr "Ghi chú nội bọ chuyển phát nhanh"
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr "Ghi chú nội bộ sử dụng cho chuyển phát nhanh"
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr "Liên kết thông tin địa chỉ (bên ngoài)"
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr "Sản phẩm cơ bản"
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "Chọn sản phẩm"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "Nhà sản xuất"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "Chọn nhà sản xuất"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "Mã số nhà sản xuất"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr "URL cho liên kết sản phẩm của nhà sản xuất bên ngoài"
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr "Mô tả sản phẩm của nhà sản xuất"
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "Sản phẩm nhà sản xuất"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "Tên tham số"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "Giá trị"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "Giá trị tham số"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "Đơn vị"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr "Đơn vị tham số"
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr "Đơn vị đóng gói phải tương thích với đơn vị sản phẩm cơ bản"
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr "Đơn vị đóng gói phải lớn hơn không"
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu với sản phẩm cơ bản tương tự"
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "Nhà cung cấp"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "Chọn nhà cung cấp"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr "Đơn vị quản lý kho nhà cung cấp"
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr "Chọn sản phẩm của nhà sản xuất"
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr "URL cho liên kết sản phẩm của nhà cung cấp bên ngoài"
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr "Mô tả sản phẩm nhà cung cấp"
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr "Mô tả sản phẩm nhà cung cấp"
msgid "Note"
msgstr "Ghi chú"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr "chi phí cơ sở"
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Thu phí tối thiểu (vd: phí kho bãi)"
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr "Đóng gói"
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr "Đóng gói sản phẩm"
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr "Đóng gói sản phẩm"
msgid "Pack Quantity"
msgstr "Số lượng gói"
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr "Tổng số lượng được cung cấp trong một gói đơn. Để trống cho các hàng hóa riêng lẻ."
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr "nhiều"
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr "Đặt hàng nhiều"
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr "Số lượng có sẵn từ nhà cung cấp"
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr "Sẵn hàng đã được cập nhật"
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr "Ngày cập nhật cuối thông tin tồn kho"
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr "Tiền tệ mặc định được sử dụng cho nhà cung cấp này"
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr "Còn hàng"
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr "Không hoạt động"
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "Tạo đơn mua hàng"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr "Chức năng doanh nghiệp"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "Sửa thông tin doanh nghiệp"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "Sửa doanh nghiệp"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr "Xóa doanh nghiệp"
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "Xóa doanh nghiệp"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr "Xóa doanh nghiệp"
msgid "Part image"
msgstr "Ảnh sản phẩm"
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Tải hình mới lên"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Tải hình ảnh từ URL"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr "Xóa ảnh"
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "Khách hàng"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "Dùng tiền mặc định"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "Địa chỉ"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "Điện thoại"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr "Xoá hình ảnh"
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr "Xóa hình ảnh gắn với công ty này"
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr "Xóa"
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr "Tải hình lên"
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr "Tải ảnh xuống"
@@ -4368,7 +4414,7 @@ msgstr "Kho nhà cung cấp"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "Đơn mua hàng"
@@ -4391,7 +4437,7 @@ msgstr "Đơn đặt hàng mới"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr "Đơn hàng bán"
@@ -4416,7 +4462,7 @@ msgstr "Kho đã được giao"
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr "Đơn hàng trả lại"
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr "Đặt mua sản phẩm"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr "Sửa sản phẩm của nhà sản xuất"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr "Xóa sản phẩm của nhà sản xuất"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "Sản phẩm nội bộ"
@@ -4484,7 +4530,7 @@ msgstr "Chưa có thông tin nhà sản xuất"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr "Địa chỉ"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr "Sản phẩm nhà cung cấp"
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr "Chức năng cho sản phẩm nhà cung cấp"
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr "Cập nhật độ sẵn sàng sản phẩm"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr "Cập nhật độ sẵn sàng sản phẩm"
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "Hàng trong kho"
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr "Không rõ"
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr "Tổng tiền"
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr "Trạng thái đặt hàng"
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr "Không tìm thấy đơn đặt mua phù hợp"
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr "Đặt hàng"
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr "Không tìm thấy đơn đặt mua phù hợp"
msgid "Purchase Order"
msgstr "Đơn hàng"
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr "Sản phẩm nhà cung cấp phải phù hợp với nhà cung cung cấ
msgid "deleted"
msgstr "đã bị xóa"
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr "Đặt hàng"
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "Sản phẩm nhà cung cấp"
@@ -5507,12 +5573,6 @@ msgstr "Tham chiếu đơn đặt"
msgid "Order Description"
msgstr "Mô tả đơn đặt"
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr "Trạng thái đặt hàng"
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr "Chưa có thông tin nhà cung cấp"
@@ -5881,12 +5941,6 @@ msgstr "Biến thể của"
msgid "Minimum Stock"
msgstr "Kho tối thiểu"
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr "Còn hàng"
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr "Sử dụng trong"
@@ -5927,7 +5981,7 @@ msgstr "Đưỡng dẫn danh mục"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "Nguyên liệu"
@@ -5947,92 +6001,92 @@ msgstr "IPN cha"
msgid "Part IPN"
msgstr "IPN sản phẩm"
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr "Giá thấp nhất"
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr "Giá cao nhất"
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr "Đơn đặt mua vào"
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr "Đơn hàng bán ra"
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr "Kho sản xuất bởi Đơn đặt bản dựng"
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr "Kho được yêu cầu cho đơn đặt bản dựng"
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr "Hợp lệ"
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr "Xác minh toàn bộ hóa đơn vật liệu"
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr "Tùy chọn này phải được chọn"
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr "Tùy chọn này phải được chọn"
msgid "Category"
msgstr "Danh mục"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr "Điểm bán mặc định"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Tổng số lượng"
@@ -6065,7 +6119,7 @@ msgstr "Danh mục sản phẩm"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "Danh mục sản phẩm"
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr "Mô tả tham số"
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr "Ô lựa chọn"
@@ -6867,209 +6921,209 @@ msgstr "Mã số nhà sản xuất khớp với MPN này đã tồn tại"
msgid "Supplier part matching this SKU already exists"
msgstr "Mã số nhà cung cấp khớp với SKU này đã tồn tại"
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "Nhân bản sản phẩm"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr "Sao chép dữ liệu ban đầu từ sản phẩm khác"
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr "Số liệu kho ban đầu"
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr "Tạo sản phẩm với số lượng tồn kho ban đầu"
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr "Thông tin nhà cung cấp"
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr "Thêm thông tin nhà cung cấp ban đầu cho sản phẩm này"
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "Sao chép thông số nhóm hàng"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr "Sao chép mẫu tham số từ nhóm sản phẩm được chọn"
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr "Ảnh hiện có"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr "Tên tệp của ảnh sản phẩm hiện hữu"
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr "Tệp hình ảnh không tồn tại"
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Hạn chế báo cáo kiểm kê với sản phẩm riêng biệt và sản phẩm biến thể bất kỳ"
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Hạn chế báo cáo kiểm kê với danh mục sản phẩm riêng biệt và danh mục con bất kỳ"
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Hạn chế báo cáo kiểm kê với vị trí kho riêng biệt và vị trí con bất kỳ"
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr "Ngoại trừ kho bên ngoài"
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr "Loại trừ hàng trong kho của vị trí bên ngoài"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr "Tạo báo cáo"
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr "Tạo tệp báo cáo chứa dữ liệu kiểm kê đã tính toán"
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr "Cập nhật sản phẩm"
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr "Cập nhật sản phẩm cụ thể với dữ liệu kiểm kê đã tính"
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr "Chức năng kiểm kê chưa được bật"
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr "Giá trị tính toán ghi đè cho giá tối thiểu"
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr "Tiền tế giá tối thiểu"
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr "Giá trị tính toán ghi đè cho giá tối đa"
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr "Tiền tế giá tối đa"
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr "Cập nhật"
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr "Cập nhật giá cho sản phẩm này"
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr "Không thể chuyển đổi từ tiền tệ đã cung cấp cho {default_currency}"
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr "Giá tối thiểu không được lớn hơn giá tối đa"
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr "Giá tối đa không được nhỏ hơn giá tối thiểu"
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr "Chọn sản phẩm để sao chép định mức nguyên vật liệu"
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr "Xóa dữ liệu đã tồn tại"
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr "Xóa mục BOM đã tồn tại trước khi sao chép"
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr "Bao gồm thừa hưởng"
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr "Bao gồm mục BOM được thừa hưởng từ sản phẩm mẫu"
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr "Bỏ qua dòng không hợp lệ"
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr "Bật tùy chọn này để bỏ qua dòng không hợp lệ"
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr "Sao chép sản phẩm thay thế"
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Sao chép sản phẩm thay thế khi nhân bản hàng hóa BOM"
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr "Dọn dẹp BOM đang tồn tại"
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr "Xóa mục BOM đang tồn tại trước khi tải lên"
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr "Chưa chỉ ra cột sản phẩm"
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr "Tìm thấy nhiều sản phẩm phù hợp"
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr "Không tìm thấy sản phẩm nào"
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr "Sản phẩm không được chỉ định như là một thành phần"
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr "Chưa cung cấp số lượng"
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr "Số lượng không hợp lệ"
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr "Buộc phải nhập ít nhất một mục BOM"
@@ -7227,7 +7281,7 @@ msgstr "Thêm thông tin kiểm kê"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr "Kiểm kê"
@@ -7458,14 +7512,6 @@ msgstr "Có thể bán sản phẩm cho khách hàng"
msgid "Part is not active"
msgstr "Sản phẩm bị tắt"
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr "Không hoạt động"
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr "Sản phẩm là ảo (không phải sản phẩm vật lý)"
@@ -7633,8 +7679,8 @@ msgstr "Sửa"
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr "Cập nhật lần cuối"
@@ -8202,7 +8248,7 @@ msgstr "Cấu hình phần bổ sung"
msgid "Plugin Configurations"
msgstr "Cấu hình phần bổ sung"
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr "Khóa"
@@ -8705,7 +8751,7 @@ msgstr "Xóa khi thiếu hụt"
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr "Ngày hết hạn"
@@ -8786,7 +8832,7 @@ msgstr "Kho hàng"
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "Vị trí kho hàng"
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Mặt hàng này hết hạn vào %(item.expiry_date)s"
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr "Đã hết hạn"
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "Xóa"
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr "Chưa xác minh"
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr "Chính"
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "Thêm"
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr "Hiển thị thông báo"
msgid "New Notifications"
msgstr "Thông báo mới"
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr "Quản trị"
@@ -14113,7 +14154,7 @@ msgstr "Quyền"
msgid "Important dates"
msgstr "Ngày quan trọng"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr "Mã thông báo đã bị thu hồi"
@@ -14121,67 +14162,67 @@ msgstr "Mã thông báo đã bị thu hồi"
msgid "Token has expired"
msgstr "Mã thông báo đã hết hạn"
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr "Mã thông báo API"
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr "Mã thông báo API"
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr "Tên mã thông báo"
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr "Tên tùy chỉnh mã thông báo"
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr "Ngày hết hạn mã thông báo"
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr "Xem lần cuối"
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr "Lần cuối mã thông báo được sử dụng"
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr "Đã thu hồi"
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "Quyền hạn đã đặt"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "Nhóm"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "Xem"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "Quyền để xem mục"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "Quyền để thêm mục"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "Đổi"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "Quyển để sửa mục"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "Quyền để xóa mục"
diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po
index 36f98120da..a421e6d44b 100644
--- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-14 10:31+0000\n"
-"PO-Revision-Date: 2024-04-15 02:35\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
@@ -58,7 +58,7 @@ msgstr ""
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -69,7 +69,7 @@ msgstr ""
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -340,10 +340,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr ""
@@ -405,14 +405,14 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -442,7 +442,7 @@ msgstr ""
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr ""
@@ -484,7 +484,7 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -493,11 +493,11 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -505,8 +505,8 @@ msgstr ""
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -521,9 +521,9 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -589,8 +589,8 @@ msgstr ""
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -682,7 +682,7 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1000,7 +1000,7 @@ msgstr ""
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr ""
@@ -1050,13 +1050,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1078,9 +1078,9 @@ msgstr ""
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1223,7 +1223,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr ""
@@ -1273,7 +1273,7 @@ msgstr ""
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1315,7 +1315,7 @@ msgstr ""
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1460,7 +1460,7 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1677,7 +1677,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1685,13 +1685,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr ""
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1860,7 +1860,7 @@ msgid "Completed Outputs"
msgstr ""
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2206,7 +2206,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr ""
@@ -3550,9 +3550,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3574,13 +3574,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3588,7 +3590,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr ""
@@ -3652,7 +3654,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3678,7 +3680,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3734,7 +3736,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -3848,270 +3850,294 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
-msgid "Company description"
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
msgstr ""
#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
msgid "Description of the company"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr ""
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr ""
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr ""
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr ""
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr ""
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr ""
#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
msgid "is customer"
msgstr ""
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr ""
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr ""
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr ""
-#: company/models.py:378
+#: company/models.py:383
msgid "Select company"
msgstr ""
-#: company/models.py:383
+#: company/models.py:388
msgid "Address title"
msgstr ""
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
msgid "Primary address"
msgstr ""
-#: company/models.py:391
+#: company/models.py:396
msgid "Set as primary address"
msgstr ""
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
msgid "Address line 1"
msgstr ""
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
msgid "Address line 2"
msgstr ""
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
msgid "Address country"
msgstr ""
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
msgid "Internal shipping notes"
msgstr ""
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
msgid "Link to address information (external)"
msgstr ""
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr ""
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr ""
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr ""
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr ""
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr ""
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr ""
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr ""
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
msgid "Pack units must be greater than zero"
msgstr ""
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4119,35 +4145,39 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr ""
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr ""
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr ""
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4158,27 +4188,27 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr ""
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr ""
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4188,62 +4218,78 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr ""
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4255,72 +4301,72 @@ msgstr ""
msgid "Part image"
msgstr ""
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr ""
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr ""
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr ""
@@ -4368,7 +4414,7 @@ msgstr ""
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr ""
@@ -4391,7 +4437,7 @@ msgstr ""
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr ""
@@ -4416,7 +4462,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
msgid "Return Orders"
msgstr ""
@@ -4464,17 +4510,17 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr ""
@@ -4484,7 +4530,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4534,16 +4580,16 @@ msgid "Addresses"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4634,7 +4680,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4644,7 +4690,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr ""
@@ -4767,7 +4813,7 @@ msgstr ""
msgid "Connected"
msgstr ""
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -4865,11 +4911,37 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:458
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4883,7 +4955,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5063,12 +5135,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr ""
@@ -5507,12 +5573,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -5881,12 +5941,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr ""
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -5927,7 +5981,7 @@ msgstr ""
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr ""
@@ -5947,92 +6001,92 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
msgid "Parent"
msgstr ""
-#: part/api.py:181
+#: part/api.py:180
msgid "Filter by parent category"
msgstr ""
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
msgid "Exclude sub-categories under the specified category"
msgstr ""
-#: part/api.py:460
+#: part/api.py:461
msgid "Has Results"
msgstr ""
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6040,7 +6094,7 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6049,7 +6103,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6065,7 +6119,7 @@ msgstr ""
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr ""
@@ -6568,7 +6622,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -6867,209 +6921,209 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
msgid "External Stock"
msgstr ""
-#: part/serializers.py:823
+#: part/serializers.py:825
msgid "Unallocated Stock"
msgstr ""
-#: part/serializers.py:826
+#: part/serializers.py:828
msgid "Variant Stock"
msgstr ""
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
msgid "Existing Image"
msgstr ""
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
msgid "Image file does not exist"
msgstr ""
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
msgid "Exclude stock items in external locations"
msgstr ""
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
msgid "Minimum price currency"
msgstr ""
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
msgid "Maximum price currency"
msgstr ""
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7227,7 +7281,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7458,14 +7512,6 @@ msgstr ""
msgid "Part is not active"
msgstr ""
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr ""
@@ -7633,8 +7679,8 @@ msgstr ""
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8202,7 +8248,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -8705,7 +8751,7 @@ msgstr ""
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -8786,7 +8832,7 @@ msgstr ""
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr ""
@@ -9469,7 +9515,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10095,7 +10141,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr ""
@@ -10278,7 +10324,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -11629,213 +11675,213 @@ msgstr ""
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
msgid "Create New Contact"
msgstr ""
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
msgid "Edit Contact"
msgstr ""
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
msgid "All selected contacts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
msgid "Delete Contacts"
msgstr ""
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
msgid "No contacts found"
msgstr ""
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
msgid "Phone Number"
msgstr ""
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
msgid "Email Address"
msgstr ""
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
msgid "Delete Contact"
msgstr ""
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
msgid "Create New Address"
msgstr ""
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
msgid "Edit Address"
msgstr ""
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
msgid "All selected addresses will be deleted"
msgstr ""
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
msgid "Delete Addresses"
msgstr ""
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
msgid "No addresses found"
msgstr ""
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
msgid "Postal city"
msgstr ""
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
msgid "Internal notes"
msgstr ""
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
msgid "Delete Address"
msgstr ""
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr ""
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr ""
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
msgid "Manufacturer part actions"
msgstr ""
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr ""
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
msgid "Base Units"
msgstr ""
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr ""
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -13273,7 +13319,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr ""
@@ -13607,11 +13653,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -13792,7 +13833,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
msgid "Has Units"
msgstr ""
@@ -13820,7 +13861,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
msgid "Has Choices"
msgstr ""
@@ -13916,7 +13957,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr ""
@@ -14113,7 +14154,7 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14121,67 +14162,67 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
msgid "API Token"
msgstr ""
-#: users/models.py:71
+#: users/models.py:82
msgid "API Tokens"
msgstr ""
-#: users/models.py:107
+#: users/models.py:118
msgid "Token Name"
msgstr ""
-#: users/models.py:108
+#: users/models.py:119
msgid "Custom token name"
msgstr ""
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
msgid "Last Seen"
msgstr ""
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr ""
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr ""
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr ""
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr ""
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr ""
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr ""
diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
index ee97b3213c..c2b95c519c 100644
--- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-13 13:21+0000\n"
+"POT-Creation-Date: 2024-04-20 13:19+0000\n"
"PO-Revision-Date: 2023-02-28 22:38\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -64,7 +64,7 @@ msgstr "输入日期"
#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438
#: build/serializers.py:516 build/templates/build/sidebar.html:21
-#: company/models.py:835 company/templates/company/sidebar.html:37
+#: company/models.py:847 company/templates/company/sidebar.html:37
#: order/models.py:1283 order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:59
@@ -75,7 +75,7 @@ msgstr "输入日期"
#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203
#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
-#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
#: templates/js/translated/part.js:1080
#: templates/js/translated/purchase_order.js:2201
#: templates/js/translated/return_order.js:776
@@ -357,10 +357,10 @@ msgstr ""
msgid "[{site_name}] Log in to the app"
msgstr ""
-#: InvenTree/magic_login.py:38 company/models.py:132
-#: company/templates/company/company_base.html:132
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
#: templates/InvenTree/settings/user.html:49
-#: templates/js/translated/company.js:667
+#: templates/js/translated/company.js:677
msgid "Email"
msgstr "电子邮件"
@@ -424,14 +424,14 @@ msgstr "附件"
msgid "Select file to attach"
msgstr "选择附件"
-#: InvenTree/models.py:567 common/models.py:3018 company/models.py:145
-#: company/models.py:452 company/models.py:509 company/models.py:818
+#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:830
#: order/models.py:291 order/models.py:1288 order/models.py:1702
#: part/admin.py:55 part/models.py:919
#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: stock/admin.py:225 templates/js/translated/company.js:1309
-#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: stock/admin.py:225 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
#: templates/js/translated/part.js:2456
#: templates/js/translated/purchase_order.js:2041
#: templates/js/translated/purchase_order.js:2205
@@ -461,7 +461,7 @@ msgstr "文件注释"
#: part/models.py:3272 part/models.py:3365 part/models.py:3393
#: plugin/models.py:250 plugin/models.py:251
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:3036 users/models.py:100
+#: templates/js/translated/stock.js:3036 users/models.py:111
msgid "User"
msgstr "用户"
@@ -503,7 +503,7 @@ msgid "Invalid choice"
msgstr "选择无效"
#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104
-#: common/serializers.py:370 company/models.py:608 label/models.py:120
+#: common/serializers.py:370 company/models.py:613 label/models.py:120
#: machine/models.py:24 part/models.py:855 part/models.py:3616
#: plugin/models.py:41 report/models.py:176 stock/models.py:76
#: templates/InvenTree/settings/mixins/urls.html:13
@@ -512,11 +512,11 @@ msgstr "选择无效"
#: templates/InvenTree/settings/plugin_settings.html:22
#: templates/InvenTree/settings/settings_staff_js.html:67
#: templates/InvenTree/settings/settings_staff_js.html:446
-#: templates/js/translated/company.js:666
-#: templates/js/translated/company.js:714
-#: templates/js/translated/company.js:903
-#: templates/js/translated/company.js:1155
-#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186
#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
msgid "Name"
@@ -524,8 +524,8 @@ msgstr "名称"
#: InvenTree/models.py:899 build/models.py:188
#: build/templates/build/detail.html:24 common/models.py:136
-#: company/models.py:517 company/models.py:826
-#: company/templates/company/company_base.html:71
+#: company/models.py:522 company/models.py:838
+#: company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:107 label/models.py:127
#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414
@@ -540,9 +540,9 @@ msgstr "名称"
#: templates/InvenTree/settings/settings_staff_js.html:170
#: templates/InvenTree/settings/settings_staff_js.html:451
#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
-#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518
-#: templates/js/translated/company.js:1320
-#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355
@@ -610,8 +610,8 @@ msgstr "服务器记录了一个错误。"
msgid "Must be a valid number"
msgstr "必须是有效数字"
-#: InvenTree/serializers.py:99 company/models.py:178
-#: company/templates/company/company_base.html:106 part/models.py:2993
+#: InvenTree/serializers.py:99 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:2993
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -707,7 +707,7 @@ msgstr "远程图像文件的 URL"
msgid "Downloading images from remote URL is not enabled"
msgstr "未启用从远程 URL下载图像"
-#: InvenTree/status.py:66 part/serializers.py:1156
+#: InvenTree/status.py:66 part/serializers.py:1161
msgid "Background worker check failed"
msgstr "后台工作人员检查失败"
@@ -1013,7 +1013,7 @@ msgstr ""
msgid "Allocated"
msgstr ""
-#: build/api.py:294 company/models.py:890
+#: build/api.py:294 company/models.py:902 company/serializers.py:383
#: company/templates/company/supplier_part.html:114
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:17
@@ -1043,7 +1043,7 @@ msgstr "生产订单"
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:55
-#: templates/js/translated/search.js:186 users/models.py:196
+#: templates/js/translated/search.js:186 users/models.py:207
msgid "Build Orders"
msgstr "生产订单"
@@ -1097,13 +1097,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "此次生产匹配的订单"
#: build/models.py:205 build/templates/build/build_base.html:97
-#: build/templates/build/detail.html:29 company/models.py:1044
+#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817
#: order/models.py:1401 order/models.py:1544 order/models.py:1545
-#: part/api.py:1537 part/api.py:1831 part/models.py:390 part/models.py:3004
+#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004
#: part/models.py:3148 part/models.py:3292 part/models.py:3315
#: part/models.py:3336 part/models.py:3358 part/models.py:3468
#: part/models.py:3764 part/models.py:3920 part/models.py:4013
-#: part/models.py:4374 part/serializers.py:1102 part/serializers.py:1677
+#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -1125,9 +1125,9 @@ msgstr "此次生产匹配的订单"
#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740
#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333
#: templates/js/translated/company.js:348
-#: templates/js/translated/company.js:1106
-#: templates/js/translated/company.js:1261
-#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015
#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
#: templates/js/translated/purchase_order.js:751
@@ -1270,7 +1270,7 @@ msgstr "构建此订单的用户或组"
#: order/templates/order/sales_order_base.html:180
#: part/templates/part/part_base.html:383 stock/models.py:819
#: stock/templates/stock/item_base.html:200
-#: templates/js/translated/company.js:1009
+#: templates/js/translated/company.js:1019
msgid "External Link"
msgstr "外部链接"
@@ -1324,7 +1324,7 @@ msgstr "生产产出与订单不匹配"
#: build/models.py:884 build/serializers.py:223 build/serializers.py:262
#: build/serializers.py:831 order/models.py:538 order/serializers.py:429
-#: order/serializers.py:572 part/serializers.py:1460 part/serializers.py:1835
+#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871
#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472
msgid "Quantity must be greater than zero"
msgstr "数量必须大于0"
@@ -1370,7 +1370,7 @@ msgstr "生产备注"
#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366
#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355
-#: templates/js/translated/company.js:1808
+#: templates/js/translated/company.js:1818
#: templates/js/translated/model_renderers.js:230
#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341
@@ -1519,7 +1519,7 @@ msgid "A list of build outputs must be provided"
msgstr "必须提供生产产出列表"
#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561
-#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1122
+#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127
#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750
#: stock/serializers.py:1196 stock/serializers.py:1452
#: stock/templates/stock/item_base.html:394
@@ -1746,7 +1746,7 @@ msgid "Allocated Stock"
msgstr ""
#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173
-#: part/serializers.py:815 part/serializers.py:1478
+#: part/serializers.py:817 part/serializers.py:1489
#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709
#: templates/js/translated/part.js:2148
@@ -1754,13 +1754,13 @@ msgstr ""
msgid "On Order"
msgstr ""
-#: build/serializers.py:1116 part/serializers.py:1480
+#: build/serializers.py:1116 part/serializers.py:1491
#: templates/js/translated/build.js:2618
#: templates/js/translated/table_filters.js:360
msgid "In Production"
msgstr "正在生产"
-#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1491
+#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514
#: part/templates/part/part_base.html:192
#: templates/js/translated/sales_order.js:1893
msgid "Available Stock"
@@ -1931,7 +1931,7 @@ msgid "Completed Outputs"
msgstr "已完成输出"
#: build/templates/build/build_base.html:190
-#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1536
+#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536
#: order/models.py:1650 order/models.py:1804
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2300,7 +2300,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:1292 company/models.py:107 company/models.py:108
+#: common/models.py:1292 company/models.py:108 company/models.py:109
msgid "Company name"
msgstr "公司名称"
@@ -3690,9 +3690,9 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2524 company/serializers.py:486 order/admin.py:42
+#: common/models.py:2524 company/serializers.py:496 order/admin.py:42
#: order/models.py:1333 order/models.py:2241
-#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885
#: templates/js/translated/pricing.js:621
#: templates/js/translated/return_order.js:741
msgid "Price"
@@ -3714,13 +3714,15 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2711 machine/models.py:39 part/admin.py:88
-#: part/models.py:1045 plugin/models.py:56
+#: common/models.py:2711 company/models.py:160 company/models.py:813
+#: machine/models.py:39 part/admin.py:88 part/models.py:1045
+#: plugin/models.py:56 templates/js/translated/company.js:523
#: templates/js/translated/table_filters.js:135
#: templates/js/translated/table_filters.js:219
#: templates/js/translated/table_filters.js:492
#: templates/js/translated/table_filters.js:520
-#: templates/js/translated/table_filters.js:716 users/models.py:171
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
msgid "Active"
msgstr ""
@@ -3728,7 +3730,7 @@ msgstr ""
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:2727 users/models.py:148
+#: common/models.py:2727 users/models.py:159
msgid "Token"
msgstr "令牌"
@@ -3792,7 +3794,7 @@ msgstr ""
msgid "Id"
msgstr ""
-#: common/models.py:3016 templates/js/translated/company.js:955
+#: common/models.py:3016 templates/js/translated/company.js:965
#: templates/js/translated/news.js:44
msgid "Title"
msgstr ""
@@ -3818,7 +3820,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:3044 company/models.py:155 part/models.py:929
+#: common/models.py:3044 company/models.py:156 part/models.py:929
#: report/templates/report/inventree_bill_of_materials_report.html:126
#: report/templates/report/inventree_bill_of_materials_report.html:148
#: report/templates/report/inventree_return_order_report_base.html:35
@@ -3884,7 +3886,7 @@ msgstr ""
msgid "A order that is assigned to you was canceled"
msgstr ""
-#: common/notifications.py:330 common/notifications.py:337
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:468
msgid "Items Received"
msgstr ""
@@ -4014,290 +4016,326 @@ msgstr "已导入商品"
msgid "Previous Step"
msgstr ""
-#: company/models.py:113
+#: company/api.py:164
+#, fuzzy
+#| msgid "Print actions"
+msgid "Part is Active"
+msgstr "打印操作"
+
+#: company/api.py:168
+#, fuzzy
+#| msgid "Manufacturers"
+msgid "Manufacturer is Active"
+msgstr "制造商"
+
+#: company/api.py:317
+#, fuzzy
+#| msgid "Supplier Part Pricing"
+msgid "Supplier Part is Active"
+msgstr "供应商商品价格"
+
+#: company/api.py:321
+#, fuzzy
+#| msgid "Internal Prices"
+msgid "Internal Part is Active"
+msgstr "内部价格"
+
+#: company/api.py:325
+#, fuzzy
+#| msgid "Supplier List"
+msgid "Supplier is Active"
+msgstr "供应商列表"
+
+#: company/models.py:114
msgid "Company description"
msgstr "公司简介"
-#: company/models.py:114
+#: company/models.py:115
msgid "Description of the company"
msgstr "公司简介"
-#: company/models.py:119 company/templates/company/company_base.html:100
+#: company/models.py:120 company/templates/company/company_base.html:106
#: templates/InvenTree/settings/plugin_settings.html:54
-#: templates/js/translated/company.js:522
+#: templates/js/translated/company.js:532
msgid "Website"
msgstr "网站"
-#: company/models.py:119
+#: company/models.py:120
msgid "Company website URL"
msgstr "公司网站"
-#: company/models.py:124
+#: company/models.py:125
msgid "Phone number"
msgstr "电话号码"
-#: company/models.py:126
+#: company/models.py:127
msgid "Contact phone number"
msgstr "联系电话"
-#: company/models.py:133
+#: company/models.py:134
msgid "Contact email address"
msgstr "联系人电子邮件"
-#: company/models.py:138 company/templates/company/company_base.html:139
+#: company/models.py:139 company/templates/company/company_base.html:145
#: order/models.py:331 order/templates/order/order_base.html:203
#: order/templates/order/return_order_base.html:174
#: order/templates/order/sales_order_base.html:214
msgid "Contact"
msgstr "联系人"
-#: company/models.py:140
+#: company/models.py:141
msgid "Point of contact"
msgstr ""
-#: company/models.py:146
+#: company/models.py:147
msgid "Link to external company information"
msgstr "链接到外部公司信息"
#: company/models.py:160
+#, fuzzy
+#| msgid "Does this company manufacture parts?"
+msgid "Is this company active?"
+msgstr "该公司制造商品吗?"
+
+#: company/models.py:165
msgid "is customer"
msgstr "是客户"
-#: company/models.py:161
+#: company/models.py:166
msgid "Do you sell items to this company?"
msgstr "您是否向该公司出售商品?"
-#: company/models.py:166
+#: company/models.py:171
msgid "is supplier"
msgstr "是供应商"
-#: company/models.py:167
+#: company/models.py:172
msgid "Do you purchase items from this company?"
msgstr "您是否从该公司采购商品?"
-#: company/models.py:172
+#: company/models.py:177
msgid "is manufacturer"
msgstr "是制造商"
-#: company/models.py:173
+#: company/models.py:178
msgid "Does this company manufacture parts?"
msgstr "该公司制造商品吗?"
-#: company/models.py:181
+#: company/models.py:186
msgid "Default currency used for this company"
msgstr "该公司使用的默认货币"
-#: company/models.py:268 company/models.py:377
+#: company/models.py:273 company/models.py:382
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12 stock/api.py:776
-#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
msgid "Company"
msgstr "公司"
-#: company/models.py:378
+#: company/models.py:383
#, fuzzy
#| msgid "Delete Company"
msgid "Select company"
msgstr "删除该公司"
-#: company/models.py:383
+#: company/models.py:388
#, fuzzy
#| msgid "Address"
msgid "Address title"
msgstr "地址"
-#: company/models.py:384
+#: company/models.py:389
msgid "Title describing the address entry"
msgstr ""
-#: company/models.py:390
+#: company/models.py:395
#, fuzzy
#| msgid "Company address"
msgid "Primary address"
msgstr "公司地址"
-#: company/models.py:391
+#: company/models.py:396
#, fuzzy
#| msgid "Contact email address"
msgid "Set as primary address"
msgstr "联系人电子邮件"
-#: company/models.py:396 templates/js/translated/company.js:904
-#: templates/js/translated/company.js:961
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
msgid "Line 1"
msgstr ""
-#: company/models.py:397
+#: company/models.py:402
#, fuzzy
#| msgid "Address"
msgid "Address line 1"
msgstr "地址"
-#: company/models.py:403 templates/js/translated/company.js:905
-#: templates/js/translated/company.js:967
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
msgid "Line 2"
msgstr ""
-#: company/models.py:404
+#: company/models.py:409
#, fuzzy
#| msgid "Address"
msgid "Address line 2"
msgstr "地址"
-#: company/models.py:410 company/models.py:411
-#: templates/js/translated/company.js:973
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
msgid "Postal code"
msgstr ""
-#: company/models.py:417
+#: company/models.py:422
msgid "City/Region"
msgstr ""
-#: company/models.py:418
+#: company/models.py:423
msgid "Postal code city/region"
msgstr ""
-#: company/models.py:424
+#: company/models.py:429
msgid "State/Province"
msgstr ""
-#: company/models.py:425
+#: company/models.py:430
msgid "State or province"
msgstr ""
-#: company/models.py:431 templates/js/translated/company.js:991
+#: company/models.py:436 templates/js/translated/company.js:1001
msgid "Country"
msgstr ""
-#: company/models.py:432
+#: company/models.py:437
#, fuzzy
#| msgid "Address"
msgid "Address country"
msgstr "地址"
-#: company/models.py:438
+#: company/models.py:443
msgid "Courier shipping notes"
msgstr ""
-#: company/models.py:439
+#: company/models.py:444
msgid "Notes for shipping courier"
msgstr ""
-#: company/models.py:445
+#: company/models.py:450
#, fuzzy
#| msgid "Internal company name"
msgid "Internal shipping notes"
msgstr "内部公司名称"
-#: company/models.py:446
+#: company/models.py:451
msgid "Shipping notes for internal use"
msgstr ""
-#: company/models.py:453
+#: company/models.py:458
#, fuzzy
#| msgid "Description (optional)"
msgid "Link to address information (external)"
msgstr "描述 (可选)"
-#: company/models.py:484 company/models.py:785 stock/models.py:751
+#: company/models.py:489 company/models.py:791 stock/models.py:751
#: stock/serializers.py:266 stock/templates/stock/item_base.html:142
#: templates/js/translated/bom.js:622
msgid "Base Part"
msgstr ""
-#: company/models.py:486 company/models.py:787
+#: company/models.py:491 company/models.py:793
msgid "Select part"
msgstr "选择商品"
-#: company/models.py:495 company/templates/company/company_base.html:76
+#: company/models.py:500 company/templates/company/company_base.html:82
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:145 part/serializers.py:515
#: stock/templates/stock/item_base.html:207
-#: templates/js/translated/company.js:506
-#: templates/js/translated/company.js:1108
-#: templates/js/translated/company.js:1286
-#: templates/js/translated/company.js:1601
-#: templates/js/translated/table_filters.js:796
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
msgid "Manufacturer"
msgstr "制造商"
-#: company/models.py:496
+#: company/models.py:501
msgid "Select manufacturer"
msgstr "选择制造商"
-#: company/models.py:502 company/templates/company/manufacturer_part.html:101
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:153 part/serializers.py:525
#: templates/js/translated/company.js:351
-#: templates/js/translated/company.js:1107
-#: templates/js/translated/company.js:1302
-#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800
#: templates/js/translated/purchase_order.js:1852
#: templates/js/translated/purchase_order.js:2054
msgid "MPN"
msgstr ""
-#: company/models.py:503
+#: company/models.py:508
msgid "Manufacturer Part Number"
msgstr "制造商商品编号"
-#: company/models.py:510
+#: company/models.py:515
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:518
+#: company/models.py:523
msgid "Manufacturer part description"
msgstr "制造商商品描述"
-#: company/models.py:575 company/models.py:602 company/models.py:811
+#: company/models.py:580 company/models.py:607 company/models.py:823
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:217
msgid "Manufacturer Part"
msgstr "制造商商品"
-#: company/models.py:609
+#: company/models.py:614
msgid "Parameter name"
msgstr "参数名称"
-#: company/models.py:615
+#: company/models.py:620
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2436 templates/js/translated/company.js:1156
-#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: stock/models.py:2436 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492
#: templates/js/translated/stock.js:1519
msgid "Value"
msgstr "数值"
-#: company/models.py:616
+#: company/models.py:621
msgid "Parameter value"
msgstr "参数值"
-#: company/models.py:623 company/templates/company/supplier_part.html:168
+#: company/models.py:628 company/templates/company/supplier_part.html:168
#: part/admin.py:57 part/models.py:1009 part/models.py:3623
#: part/templates/part/part_base.html:284
-#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511
#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370
msgid "Units"
msgstr "单位"
-#: company/models.py:624
+#: company/models.py:629
msgid "Parameter units"
msgstr "参数单位"
-#: company/models.py:725
+#: company/models.py:731
msgid "Pack units must be compatible with the base part units"
msgstr ""
-#: company/models.py:732
+#: company/models.py:738
#, fuzzy
#| msgid "Quantity must be greater than zero"
msgid "Pack units must be greater than zero"
msgstr "数量必须大于0"
-#: company/models.py:746
+#: company/models.py:752
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:795 company/templates/company/company_base.html:81
+#: company/models.py:801 company/templates/company/company_base.html:87
#: company/templates/company/supplier_part.html:129 order/models.py:465
#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25
@@ -4305,35 +4343,41 @@ msgstr ""
#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:350
-#: templates/js/translated/company.js:510
-#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768
#: templates/js/translated/pricing.js:498
#: templates/js/translated/purchase_order.js:1690
-#: templates/js/translated/table_filters.js:800
+#: templates/js/translated/table_filters.js:804
msgid "Supplier"
msgstr "供应商"
-#: company/models.py:796
+#: company/models.py:802
msgid "Select supplier"
msgstr "选择供应商"
-#: company/models.py:802 part/serializers.py:510
+#: company/models.py:808 part/serializers.py:510
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:812
+#: company/models.py:814
+#, fuzzy
+#| msgid "Delete supplier part"
+msgid "Is this supplier part active?"
+msgstr "删除供应商商品"
+
+#: company/models.py:824
msgid "Select manufacturer part"
msgstr "选择制造商商品"
-#: company/models.py:819
+#: company/models.py:831
msgid "URL for external supplier part link"
msgstr "外部供货商商品链接URL"
-#: company/models.py:827
+#: company/models.py:839
msgid "Supplier part description"
msgstr "供应商商品描述"
-#: company/models.py:834 company/templates/company/supplier_part.html:187
+#: company/models.py:846 company/templates/company/supplier_part.html:187
#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
@@ -4344,27 +4388,27 @@ msgstr "供应商商品描述"
msgid "Note"
msgstr "备注"
-#: company/models.py:843 part/models.py:1967
+#: company/models.py:855 part/models.py:1967
msgid "base cost"
msgstr ""
-#: company/models.py:844 part/models.py:1968
+#: company/models.py:856 part/models.py:1968
msgid "Minimum charge (e.g. stocking fee)"
msgstr "最低收费(例如库存费)"
-#: company/models.py:851 company/templates/company/supplier_part.html:160
+#: company/models.py:863 company/templates/company/supplier_part.html:160
#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350
#: stock/templates/stock/item_base.html:240
-#: templates/js/translated/company.js:1636
+#: templates/js/translated/company.js:1646
#: templates/js/translated/stock.js:2423
msgid "Packaging"
msgstr "打包"
-#: company/models.py:852
+#: company/models.py:864
msgid "Part packaging"
msgstr "商品打包"
-#: company/models.py:857 templates/js/translated/company.js:1641
+#: company/models.py:869 templates/js/translated/company.js:1651
#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877
#: templates/js/translated/purchase_order.js:311
#: templates/js/translated/purchase_order.js:841
@@ -4374,62 +4418,78 @@ msgstr "商品打包"
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:859
+#: company/models.py:871
msgid "Total quantity supplied in a single pack. Leave empty for single items."
msgstr ""
-#: company/models.py:878 part/models.py:1974
+#: company/models.py:890 part/models.py:1974
msgid "multiple"
msgstr ""
-#: company/models.py:879
+#: company/models.py:891
msgid "Order multiple"
msgstr ""
-#: company/models.py:891
+#: company/models.py:903
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:897
+#: company/models.py:909
msgid "Availability Updated"
msgstr ""
-#: company/models.py:898
+#: company/models.py:910
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:155
+#: company/serializers.py:163
msgid "Default currency used for this supplier"
msgstr "该公司使用的默认货币"
-#: company/templates/company/company_base.html:21
+#: company/serializers.py:381 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:306
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
#: templates/js/translated/purchase_order.js:242
msgid "Create Purchase Order"
msgstr "创建采购订单"
-#: company/templates/company/company_base.html:27
+#: company/templates/company/company_base.html:33
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:38
msgid "Edit company information"
msgstr "编辑公司信息"
-#: company/templates/company/company_base.html:33
-#: templates/js/translated/company.js:444
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
msgid "Edit Company"
msgstr "编辑公司信息"
-#: company/templates/company/company_base.html:37
+#: company/templates/company/company_base.html:43
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:38
-#: company/templates/company/company_base.html:162
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
msgid "Delete Company"
msgstr "删除该公司"
-#: company/templates/company/company_base.html:47
+#: company/templates/company/company_base.html:53
#: company/templates/company/manufacturer_part.html:51
#: company/templates/company/supplier_part.html:83
#: part/templates/part/part_thumb.html:20
@@ -4443,72 +4503,72 @@ msgstr "删除该公司"
msgid "Part image"
msgstr "商品名称"
-#: company/templates/company/company_base.html:55
+#: company/templates/company/company_base.html:61
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "上传新图片"
-#: company/templates/company/company_base.html:58
+#: company/templates/company/company_base.html:64
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "从 URL 下载图片"
-#: company/templates/company/company_base.html:60
+#: company/templates/company/company_base.html:66
#: part/templates/part/part_thumb.html:16
msgid "Delete image"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:910
+#: company/templates/company/company_base.html:92 order/models.py:910
#: order/models.py:2008 order/templates/order/return_order_base.html:131
#: order/templates/order/sales_order_base.html:144 stock/models.py:804
#: stock/models.py:805 stock/serializers.py:1100
#: stock/templates/stock/item_base.html:405
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:502
+#: templates/js/translated/company.js:503
#: templates/js/translated/return_order.js:296
#: templates/js/translated/sales_order.js:784
#: templates/js/translated/stock.js:2959
-#: templates/js/translated/table_filters.js:804
+#: templates/js/translated/table_filters.js:808
msgid "Customer"
msgstr "客户"
-#: company/templates/company/company_base.html:111
+#: company/templates/company/company_base.html:117
msgid "Uses default currency"
msgstr "使用默认货币"
-#: company/templates/company/company_base.html:118 order/models.py:341
+#: company/templates/company/company_base.html:124 order/models.py:341
#: order/templates/order/order_base.html:210
#: order/templates/order/return_order_base.html:181
#: order/templates/order/sales_order_base.html:221
msgid "Address"
msgstr "地址"
-#: company/templates/company/company_base.html:125
+#: company/templates/company/company_base.html:131
msgid "Phone"
msgstr "电话"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:211
#: part/templates/part/part_base.html:528
msgid "Remove Image"
msgstr ""
-#: company/templates/company/company_base.html:206
+#: company/templates/company/company_base.html:212
msgid "Remove associated image from this company"
msgstr ""
-#: company/templates/company/company_base.html:208
+#: company/templates/company/company_base.html:214
#: part/templates/part/part_base.html:531
#: templates/InvenTree/settings/user.html:88
#: templates/InvenTree/settings/user_sso.html:43
msgid "Remove"
msgstr ""
-#: company/templates/company/company_base.html:237
+#: company/templates/company/company_base.html:243
#: part/templates/part/part_base.html:560
msgid "Upload Image"
msgstr "上传图片"
-#: company/templates/company/company_base.html:252
+#: company/templates/company/company_base.html:258
#: part/templates/part/part_base.html:614
msgid "Download Image"
msgstr "下载图片"
@@ -4556,7 +4616,7 @@ msgstr "供货商库存"
#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
#: templates/InvenTree/settings/sidebar.html:57
#: templates/js/translated/search.js:205 templates/navbar.html:50
-#: users/models.py:197
+#: users/models.py:208
msgid "Purchase Orders"
msgstr "采购订单"
@@ -4579,7 +4639,7 @@ msgstr "新建采购订单"
#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
#: templates/InvenTree/settings/sidebar.html:59
#: templates/js/translated/search.js:219 templates/navbar.html:62
-#: users/models.py:198
+#: users/models.py:209
msgid "Sales Orders"
msgstr "销售订单"
@@ -4604,7 +4664,7 @@ msgstr ""
#: order/templates/order/return_orders.html:15
#: templates/InvenTree/settings/sidebar.html:61
#: templates/js/translated/search.js:232 templates/navbar.html:65
-#: users/models.py:199
+#: users/models.py:210
#, fuzzy
#| msgid "Returned"
msgid "Return Orders"
@@ -4666,17 +4726,17 @@ msgid "Order part"
msgstr "订购商品"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:1333
+#: templates/js/translated/company.js:1343
msgid "Edit manufacturer part"
msgstr "编辑制造商商品"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:1334
+#: templates/js/translated/company.js:1344
msgid "Delete manufacturer part"
msgstr "删除生产商商品"
#: company/templates/company/manufacturer_part.html:65
-#: company/templates/company/supplier_part.html:97
+#: company/templates/company/supplier_part.html:97 order/api.py:454
msgid "Internal Part"
msgstr "内部商品"
@@ -4686,7 +4746,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:31
-#: part/admin.py:122 part/serializers.py:819
+#: part/admin.py:122 part/serializers.py:821
#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
#: templates/navbar.html:48
msgid "Suppliers"
@@ -4740,16 +4800,16 @@ msgid "Addresses"
msgstr "地址"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:762
-#: stock/templates/stock/item_base.html:233
-#: templates/js/translated/company.js:1590
+#: company/templates/company/supplier_part.html:24 order/api.py:448
+#: stock/models.py:762 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
#: templates/js/translated/purchase_order.js:752
#: templates/js/translated/stock.js:2279
msgid "Supplier Part"
msgstr "供应商商品"
#: company/templates/company/supplier_part.html:50
-#: templates/js/translated/company.js:1516
+#: templates/js/translated/company.js:1526
msgid "Supplier part actions"
msgstr ""
@@ -4840,7 +4900,7 @@ msgid "Update Part Availability"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/serializers.py:818 part/stocktake.py:223
+#: part/serializers.py:820 part/stocktake.py:223
#: part/templates/part/category.html:183
#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
#: stock/serializers.py:787 stock/serializers.py:951
@@ -4850,7 +4910,7 @@ msgstr ""
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
-#: users/models.py:195
+#: users/models.py:206
msgid "Stock Items"
msgstr "库存项"
@@ -4983,7 +5043,7 @@ msgstr "要生产的项目数量"
msgid "Connected"
msgstr "连接错误"
-#: machine/machine_types/label_printer.py:234 order/api.py:1461
+#: machine/machine_types/label_printer.py:234 order/api.py:1511
#: templates/js/translated/sales_order.js:1042
msgid "Unknown"
msgstr ""
@@ -5095,11 +5155,41 @@ msgstr ""
msgid "Total Price"
msgstr ""
+#: order/api.py:157 order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:161 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
#: order/api.py:236
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1455 order/models.py:1383 order/models.py:1490
+#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489
+#: order/models.py:1535 order/models.py:1649 order/models.py:1803
+#: order/models.py:2207 order/models.py:2258
+#: templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/api.py:437 order/api.py:834
+#, fuzzy
+#| msgid "Order Code"
+msgid "Order Complete"
+msgstr "订单编码"
+
+#: order/api.py:458
+#, fuzzy
+#| msgid "Pending"
+msgid "Order Pending"
+msgstr "待定"
+
+#: order/api.py:1505 order/models.py:1383 order/models.py:1490
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -5113,7 +5203,7 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1459 order/models.py:2208 order/models.py:2259
+#: order/api.py:1509 order/models.py:2208 order/models.py:2259
#: order/templates/order/return_order_base.html:9
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
@@ -5313,12 +5403,6 @@ msgstr ""
msgid "deleted"
msgstr ""
-#: order/models.py:1382 order/models.py:1489 order/models.py:1535
-#: order/models.py:1649 order/models.py:1803 order/models.py:2207
-#: order/models.py:2258 templates/js/translated/sales_order.js:1488
-msgid "Order"
-msgstr ""
-
#: order/models.py:1402
msgid "Supplier part"
msgstr "供应商商品"
@@ -5779,12 +5863,6 @@ msgstr ""
msgid "Order Description"
msgstr ""
-#: order/templates/order/order_base.html:118
-#: order/templates/order/return_order_base.html:113
-#: order/templates/order/sales_order_base.html:118
-msgid "Order Status"
-msgstr ""
-
#: order/templates/order/order_base.html:141
msgid "No suppplier information available"
msgstr ""
@@ -6173,12 +6251,6 @@ msgstr ""
msgid "Minimum Stock"
msgstr "最低库存"
-#: part/admin.py:126 part/templates/part/part_base.html:197
-#: templates/js/translated/company.js:1679
-#: templates/js/translated/table_filters.js:355
-msgid "In Stock"
-msgstr ""
-
#: part/admin.py:138 part/templates/part/part_sidebar.html:27
msgid "Used In"
msgstr ""
@@ -6219,7 +6291,7 @@ msgstr "类别路径"
#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
-#: templates/navbar.html:24 users/models.py:192
+#: templates/navbar.html:24 users/models.py:203
msgid "Parts"
msgstr "商品"
@@ -6239,100 +6311,100 @@ msgstr ""
msgid "Part IPN"
msgstr ""
-#: part/admin.py:421 part/serializers.py:1256
+#: part/admin.py:421 part/serializers.py:1261
#: templates/js/translated/pricing.js:358
#: templates/js/translated/pricing.js:1024
msgid "Minimum Price"
msgstr ""
-#: part/admin.py:426 part/serializers.py:1271
+#: part/admin.py:426 part/serializers.py:1276
#: templates/js/translated/pricing.js:353
#: templates/js/translated/pricing.js:1032
msgid "Maximum Price"
msgstr ""
-#: part/api.py:120
+#: part/api.py:119
msgid "Starred"
msgstr ""
-#: part/api.py:122
+#: part/api.py:121
msgid "Filter by starred categories"
msgstr ""
-#: part/api.py:139 stock/api.py:284
+#: part/api.py:138 stock/api.py:284
msgid "Depth"
msgstr ""
-#: part/api.py:139
+#: part/api.py:138
msgid "Filter by category depth"
msgstr ""
-#: part/api.py:157 stock/api.py:302
+#: part/api.py:156 stock/api.py:302
msgid "Cascade"
msgstr ""
-#: part/api.py:159
+#: part/api.py:158
msgid "Include sub-categories in filtered results"
msgstr ""
-#: part/api.py:179
+#: part/api.py:178
#, fuzzy
#| msgid "parent"
msgid "Parent"
msgstr "上级项"
-#: part/api.py:181
+#: part/api.py:180
#, fuzzy
#| msgid "Create new part category"
msgid "Filter by parent category"
msgstr "新建商品类别"
-#: part/api.py:214
+#: part/api.py:213
msgid "Exclude Tree"
msgstr ""
-#: part/api.py:216
+#: part/api.py:215
#, fuzzy
#| msgid "Exclude stock items from this selected location"
msgid "Exclude sub-categories under the specified category"
msgstr "从该选定的仓储地点排除库存项"
-#: part/api.py:460
+#: part/api.py:461
#, fuzzy
#| msgid "Units"
msgid "Has Results"
msgstr "单位"
-#: part/api.py:627
+#: part/api.py:628
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:645
+#: part/api.py:646
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:661
+#: part/api.py:662
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:745
+#: part/api.py:746
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:892
+#: part/api.py:893
msgid "Valid"
msgstr ""
-#: part/api.py:893
+#: part/api.py:894
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:899
+#: part/api.py:900
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1551 part/models.py:896 part/models.py:3386 part/models.py:3866
-#: part/serializers.py:406 part/serializers.py:1112
+#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866
+#: part/serializers.py:406 part/serializers.py:1117
#: part/templates/part/part_base.html:260 stock/api.py:745
#: templates/InvenTree/settings/settings_staff_js.html:300
#: templates/js/translated/notification.js:60
@@ -6340,7 +6412,7 @@ msgstr ""
msgid "Category"
msgstr "类别"
-#: part/api.py:1839
+#: part/api.py:1849
msgid "Uses"
msgstr ""
@@ -6349,7 +6421,7 @@ msgstr ""
msgid "Default Location"
msgstr "默认仓储地点"
-#: part/bom.py:171 part/serializers.py:820
+#: part/bom.py:171 part/serializers.py:822
#: templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -6365,7 +6437,7 @@ msgstr "商品类别"
#: part/models.py:83 part/templates/part/category.html:136
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
-#: users/models.py:191
+#: users/models.py:202
msgid "Part Categories"
msgstr "商品类别"
@@ -6877,7 +6949,7 @@ msgid "Parameter description"
msgstr ""
#: part/models.py:3638 templates/js/translated/part.js:1627
-#: templates/js/translated/table_filters.js:821
+#: templates/js/translated/table_filters.js:825
msgid "Checkbox"
msgstr ""
@@ -7186,225 +7258,225 @@ msgstr ""
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:821
+#: part/serializers.py:823
#, fuzzy
#| msgid "External Link"
msgid "External Stock"
msgstr "外部链接"
-#: part/serializers.py:823
+#: part/serializers.py:825
#, fuzzy
#| msgid "Unallocate Stock"
msgid "Unallocated Stock"
msgstr "未分配库存"
-#: part/serializers.py:826
+#: part/serializers.py:828
#, fuzzy
#| msgid "Part Stock"
msgid "Variant Stock"
msgstr "商品库存"
-#: part/serializers.py:851 part/templates/part/copy_part.html:9
+#: part/serializers.py:856 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:471
msgid "Duplicate Part"
msgstr "复制部件"
-#: part/serializers.py:852
+#: part/serializers.py:857
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:858 templates/js/translated/part.js:102
+#: part/serializers.py:863 templates/js/translated/part.js:102
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:859
+#: part/serializers.py:864
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:865
+#: part/serializers.py:870
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:871
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:874
+#: part/serializers.py:879
msgid "Copy Category Parameters"
msgstr "复制类别参数"
-#: part/serializers.py:875
+#: part/serializers.py:880
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:880
+#: part/serializers.py:885
#, fuzzy
#| msgid "Existing barcode found"
msgid "Existing Image"
msgstr "发现现有条码"
-#: part/serializers.py:881
+#: part/serializers.py:886
msgid "Filename of an existing part image"
msgstr ""
-#: part/serializers.py:898
+#: part/serializers.py:903
#, fuzzy
#| msgid "Part image not found"
msgid "Image file does not exist"
msgstr "未找到商品图像"
-#: part/serializers.py:1104
+#: part/serializers.py:1109
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:1114
+#: part/serializers.py:1119
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:1124
+#: part/serializers.py:1129
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:1130
+#: part/serializers.py:1135
msgid "Exclude External Stock"
msgstr ""
-#: part/serializers.py:1131
+#: part/serializers.py:1136
#, fuzzy
#| msgid "Exclude stock items from this selected location"
msgid "Exclude stock items in external locations"
msgstr "从该选定的仓储地点排除库存项"
-#: part/serializers.py:1136
+#: part/serializers.py:1141
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:1137
+#: part/serializers.py:1142
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:1142
+#: part/serializers.py:1147
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:1143
+#: part/serializers.py:1148
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:1151
+#: part/serializers.py:1156
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:1257
+#: part/serializers.py:1262
msgid "Override calculated value for minimum price"
msgstr ""
-#: part/serializers.py:1264
+#: part/serializers.py:1269
#, fuzzy
#| msgid "Uses default currency"
msgid "Minimum price currency"
msgstr "使用默认货币"
-#: part/serializers.py:1272
+#: part/serializers.py:1277
msgid "Override calculated value for maximum price"
msgstr ""
-#: part/serializers.py:1279
+#: part/serializers.py:1284
#, fuzzy
#| msgid "Uses default currency"
msgid "Maximum price currency"
msgstr "使用默认货币"
-#: part/serializers.py:1308
+#: part/serializers.py:1313
msgid "Update"
msgstr ""
-#: part/serializers.py:1309
+#: part/serializers.py:1314
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1332
+#: part/serializers.py:1337
#, python-brace-format
msgid "Could not convert from provided currencies to {default_currency}"
msgstr ""
-#: part/serializers.py:1339
+#: part/serializers.py:1344
msgid "Minimum price must not be greater than maximum price"
msgstr ""
-#: part/serializers.py:1342
+#: part/serializers.py:1347
msgid "Maximum price must not be less than minimum price"
msgstr ""
-#: part/serializers.py:1678
+#: part/serializers.py:1714
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1686
+#: part/serializers.py:1722
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1687
+#: part/serializers.py:1723
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1692
+#: part/serializers.py:1728
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1693
+#: part/serializers.py:1729
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1698
+#: part/serializers.py:1734
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1699
+#: part/serializers.py:1735
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1704
+#: part/serializers.py:1740
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1705
+#: part/serializers.py:1741
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1739
+#: part/serializers.py:1775
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1740
+#: part/serializers.py:1776
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1770
+#: part/serializers.py:1806
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1814
+#: part/serializers.py:1850
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1817
+#: part/serializers.py:1853
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1820
+#: part/serializers.py:1856
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1829
+#: part/serializers.py:1865
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1837
+#: part/serializers.py:1873
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1858
+#: part/serializers.py:1894
msgid "At least one BOM item is required"
msgstr ""
@@ -7566,7 +7638,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30
#: templates/InvenTree/settings/sidebar.html:53
-#: templates/js/translated/stock.js:2215 users/models.py:193
+#: templates/js/translated/stock.js:2215 users/models.py:204
msgid "Stocktake"
msgstr ""
@@ -7799,14 +7871,6 @@ msgstr "商品可以销售给客户"
msgid "Part is not active"
msgstr "打印操作"
-#: part/templates/part/part_base.html:146
-#: templates/js/translated/company.js:1277
-#: templates/js/translated/company.js:1565
-#: templates/js/translated/model_renderers.js:306
-#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
-msgid "Inactive"
-msgstr ""
-
#: part/templates/part/part_base.html:153
msgid "Part is virtual (not a physical part)"
msgstr "商品是虚拟的(不是实体零件)"
@@ -7976,8 +8040,8 @@ msgstr "编辑"
#: part/templates/part/prices.html:28 stock/admin.py:247
#: stock/templates/stock/item_base.html:446
-#: templates/js/translated/company.js:1693
#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
#: templates/js/translated/stock.js:2245
msgid "Last Updated"
msgstr ""
@@ -8638,7 +8702,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:34 users/models.py:89
+#: plugin/models.py:34 users/models.py:100
msgid "Key"
msgstr ""
@@ -9169,7 +9233,7 @@ msgstr "删除模板"
#: stock/admin.py:256 stock/models.py:883
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/stock.js:2229 users/models.py:113
+#: templates/js/translated/stock.js:2229 users/models.py:124
msgid "Expiry Date"
msgstr ""
@@ -9262,7 +9326,7 @@ msgstr "仓储地点"
#: stock/models.py:126 stock/templates/stock/location.html:179
#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
-#: users/models.py:194
+#: users/models.py:205
msgid "Stock Locations"
msgstr "仓储地点"
@@ -9985,7 +10049,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:437
-#: templates/js/translated/table_filters.js:435 users/models.py:163
+#: templates/js/translated/table_filters.js:435 users/models.py:174
msgid "Expired"
msgstr ""
@@ -10631,7 +10695,7 @@ msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:81
#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
-#: templates/js/translated/stock.js:245 users/models.py:413
+#: templates/js/translated/stock.js:245 users/models.py:424
msgid "Delete"
msgstr "删除"
@@ -10846,7 +10910,7 @@ msgid "Unverified"
msgstr ""
#: templates/InvenTree/settings/user.html:80
-#: templates/js/translated/company.js:947
+#: templates/js/translated/company.js:957
msgid "Primary"
msgstr ""
@@ -12261,249 +12325,249 @@ msgstr "删除所有选定的供应商商品"
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:465
+#: templates/js/translated/company.js:466
msgid "Add new Company"
msgstr "增加新的公司信息"
-#: templates/js/translated/company.js:536
+#: templates/js/translated/company.js:546
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:545
+#: templates/js/translated/company.js:555
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:560
+#: templates/js/translated/company.js:570
msgid "No company information found"
msgstr "未找到该公司信息"
-#: templates/js/translated/company.js:609
+#: templates/js/translated/company.js:619
#, fuzzy
#| msgid "Create new part"
msgid "Create New Contact"
msgstr "新建商品"
-#: templates/js/translated/company.js:625
-#: templates/js/translated/company.js:748
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
#, fuzzy
#| msgid "Contact"
msgid "Edit Contact"
msgstr "联系人"
-#: templates/js/translated/company.js:662
+#: templates/js/translated/company.js:672
#, fuzzy
#| msgid "All selected supplier parts will be deleted"
msgid "All selected contacts will be deleted"
msgstr "删除所有选定的供应商商品"
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:732
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
msgid "Role"
msgstr ""
-#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:686
#, fuzzy
#| msgid "Delete outputs"
msgid "Delete Contacts"
msgstr "删除输出"
-#: templates/js/translated/company.js:707
+#: templates/js/translated/company.js:717
#, fuzzy
#| msgid "No matching action found"
msgid "No contacts found"
msgstr "未找到指定操作"
-#: templates/js/translated/company.js:720
+#: templates/js/translated/company.js:730
#, fuzzy
#| msgid "Phone number"
msgid "Phone Number"
msgstr "电话号码"
-#: templates/js/translated/company.js:726
+#: templates/js/translated/company.js:736
#, fuzzy
#| msgid "Address"
msgid "Email Address"
msgstr "地址"
-#: templates/js/translated/company.js:752
+#: templates/js/translated/company.js:762
#, fuzzy
#| msgid "Delete part"
msgid "Delete Contact"
msgstr "删除商品"
-#: templates/js/translated/company.js:849
+#: templates/js/translated/company.js:859
#, fuzzy
#| msgid "Create new part"
msgid "Create New Address"
msgstr "新建商品"
-#: templates/js/translated/company.js:864
-#: templates/js/translated/company.js:1025
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
#, fuzzy
#| msgid "Address"
msgid "Edit Address"
msgstr "地址"
-#: templates/js/translated/company.js:899
+#: templates/js/translated/company.js:909
#, fuzzy
#| msgid "All selected supplier parts will be deleted"
msgid "All selected addresses will be deleted"
msgstr "删除所有选定的供应商商品"
-#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:923
#, fuzzy
#| msgid "Delete parameters"
msgid "Delete Addresses"
msgstr "删除参数"
-#: templates/js/translated/company.js:940
+#: templates/js/translated/company.js:950
#, fuzzy
#| msgid "No parameters found"
msgid "No addresses found"
msgstr "无指定参数"
-#: templates/js/translated/company.js:979
+#: templates/js/translated/company.js:989
#, fuzzy
#| msgid "Install into"
msgid "Postal city"
msgstr "安装到"
-#: templates/js/translated/company.js:985
+#: templates/js/translated/company.js:995
msgid "State/province"
msgstr ""
-#: templates/js/translated/company.js:997
+#: templates/js/translated/company.js:1007
msgid "Courier notes"
msgstr ""
-#: templates/js/translated/company.js:1003
+#: templates/js/translated/company.js:1013
#, fuzzy
#| msgid "Internal Prices"
msgid "Internal notes"
msgstr "内部价格"
-#: templates/js/translated/company.js:1029
+#: templates/js/translated/company.js:1039
#, fuzzy
#| msgid "Delete parts"
msgid "Delete Address"
msgstr "删除商品"
-#: templates/js/translated/company.js:1102
+#: templates/js/translated/company.js:1112
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1127
msgid "Delete Manufacturer Parts"
msgstr "删除制造商商品"
-#: templates/js/translated/company.js:1151
+#: templates/js/translated/company.js:1161
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1175
msgid "Delete Parameters"
msgstr "删除参数"
-#: templates/js/translated/company.js:1181
-#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244
msgid "Order parts"
msgstr "订购商品"
-#: templates/js/translated/company.js:1198
+#: templates/js/translated/company.js:1208
msgid "Delete manufacturer parts"
msgstr "删除制造商商品"
-#: templates/js/translated/company.js:1230
+#: templates/js/translated/company.js:1240
#, fuzzy
#| msgid "Manufacturer part description"
msgid "Manufacturer part actions"
msgstr "制造商商品描述"
-#: templates/js/translated/company.js:1249
+#: templates/js/translated/company.js:1259
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:1269
-#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798
#: templates/js/translated/part.js:1210
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:1273
-#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802
#: templates/js/translated/part.js:1214
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464
msgid "No parameters found"
msgstr "无指定参数"
-#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527
msgid "Edit parameter"
msgstr "编辑参数"
-#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528
msgid "Delete parameter"
msgstr "删除参数"
-#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433
msgid "Edit Parameter"
msgstr "编辑参数"
-#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549
msgid "Delete Parameter"
msgstr "删除参数"
-#: templates/js/translated/company.js:1486
+#: templates/js/translated/company.js:1496
msgid "Delete supplier parts"
msgstr "删除供应商商品"
-#: templates/js/translated/company.js:1536
+#: templates/js/translated/company.js:1546
msgid "No supplier parts found"
msgstr "未找到供应商商品"
-#: templates/js/translated/company.js:1654
+#: templates/js/translated/company.js:1664
#, fuzzy
#| msgid "Units"
msgid "Base Units"
msgstr "单位"
-#: templates/js/translated/company.js:1684
+#: templates/js/translated/company.js:1694
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1715
+#: templates/js/translated/company.js:1725
msgid "Edit supplier part"
msgstr "编辑供应商商品"
-#: templates/js/translated/company.js:1716
+#: templates/js/translated/company.js:1726
msgid "Delete supplier part"
msgstr "删除供应商商品"
-#: templates/js/translated/company.js:1769
+#: templates/js/translated/company.js:1779
#: templates/js/translated/pricing.js:694
msgid "Delete Price Break"
msgstr ""
-#: templates/js/translated/company.js:1779
+#: templates/js/translated/company.js:1789
#: templates/js/translated/pricing.js:712
msgid "Edit Price Break"
msgstr ""
-#: templates/js/translated/company.js:1794
+#: templates/js/translated/company.js:1804
msgid "No price break information found"
msgstr ""
-#: templates/js/translated/company.js:1823
+#: templates/js/translated/company.js:1833
msgid "Last updated"
msgstr ""
-#: templates/js/translated/company.js:1830
+#: templates/js/translated/company.js:1840
msgid "Edit price break"
msgstr ""
-#: templates/js/translated/company.js:1831
+#: templates/js/translated/company.js:1841
msgid "Delete price break"
msgstr ""
@@ -14027,7 +14091,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:1042 users/models.py:403
+#: templates/js/translated/stock.js:1042 users/models.py:414
msgid "Add"
msgstr "添加"
@@ -14389,11 +14453,6 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:194
-#: templates/js/translated/table_filters.js:779
-msgid "Has Pricing"
-msgstr ""
-
#: templates/js/translated/table_filters.js:234
#: templates/js/translated/table_filters.js:345
msgid "Include sublocations"
@@ -14576,7 +14635,7 @@ msgid "Available stock"
msgstr ""
#: templates/js/translated/table_filters.js:733
-#: templates/js/translated/table_filters.js:829
+#: templates/js/translated/table_filters.js:833
#, fuzzy
#| msgid "Units"
msgid "Has Units"
@@ -14608,7 +14667,7 @@ msgstr ""
msgid "Has stocktake entries"
msgstr ""
-#: templates/js/translated/table_filters.js:825
+#: templates/js/translated/table_filters.js:829
#, fuzzy
#| msgid "Units"
msgid "Has Choices"
@@ -14706,7 +14765,7 @@ msgstr ""
msgid "New Notifications"
msgstr ""
-#: templates/navbar.html:144 users/models.py:190
+#: templates/navbar.html:144 users/models.py:201
msgid "Admin"
msgstr "管理员"
@@ -14909,7 +14968,7 @@ msgstr "权限"
msgid "Important dates"
msgstr "重要日期"
-#: users/authentication.py:29 users/models.py:127
+#: users/authentication.py:29 users/models.py:138
msgid "Token has been revoked"
msgstr ""
@@ -14917,77 +14976,77 @@ msgstr ""
msgid "Token has expired"
msgstr ""
-#: users/models.py:70
+#: users/models.py:81
#, fuzzy
#| msgid "Token"
msgid "API Token"
msgstr "令牌"
-#: users/models.py:71
+#: users/models.py:82
#, fuzzy
#| msgid "Token"
msgid "API Tokens"
msgstr "令牌"
-#: users/models.py:107
+#: users/models.py:118
#, fuzzy
#| msgid "Token"
msgid "Token Name"
msgstr "令牌"
-#: users/models.py:108
+#: users/models.py:119
#, fuzzy
#| msgid "Company name"
msgid "Custom token name"
msgstr "公司名称"
-#: users/models.py:114
+#: users/models.py:125
msgid "Token expiry date"
msgstr ""
-#: users/models.py:122
+#: users/models.py:133
#, fuzzy
#| msgid "Last Name"
msgid "Last Seen"
msgstr "姓氏"
-#: users/models.py:123
+#: users/models.py:134
msgid "Last time the token was used"
msgstr ""
-#: users/models.py:127
+#: users/models.py:138
msgid "Revoked"
msgstr ""
-#: users/models.py:386
+#: users/models.py:397
msgid "Permission set"
msgstr "权限设置"
-#: users/models.py:395
+#: users/models.py:406
msgid "Group"
msgstr "群组"
-#: users/models.py:399
+#: users/models.py:410
msgid "View"
msgstr "视图"
-#: users/models.py:399
+#: users/models.py:410
msgid "Permission to view items"
msgstr "查看项目权限"
-#: users/models.py:403
+#: users/models.py:414
msgid "Permission to add items"
msgstr "添加项目权限"
-#: users/models.py:407
+#: users/models.py:418
msgid "Change"
msgstr "更改"
-#: users/models.py:409
+#: users/models.py:420
msgid "Permissions to edit items"
msgstr "编辑项目权限"
-#: users/models.py:415
+#: users/models.py:426
msgid "Permission to delete items"
msgstr "删除项目权限"
@@ -15032,9 +15091,6 @@ msgstr "删除项目权限"
#~ msgid "Chinese"
#~ msgstr "中文(简体)"
-#~ msgid "Supplier List"
-#~ msgstr "供应商列表"
-
#~ msgid "Query filters (comma-separated list of key=value pairs),"
#~ msgstr "查询筛选器 (逗号分隔的键值对列表)"
diff --git a/src/backend/InvenTree/order/models.py b/src/backend/InvenTree/order/models.py
index f33fcd53ab..94710c01a9 100644
--- a/src/backend/InvenTree/order/models.py
+++ b/src/backend/InvenTree/order/models.py
@@ -1459,9 +1459,11 @@ class PurchaseOrderLineItem(OrderLineItem):
def update_pricing(self):
"""Update pricing information based on the supplier part data."""
if self.part:
- price = self.part.get_price(self.quantity)
+ price = self.part.get_price(
+ self.quantity, currency=self.purchase_price_currency
+ )
- if price is None:
+ if price is None or self.quantity == 0:
return
self.purchase_price = Decimal(price) / Decimal(self.quantity)
diff --git a/src/backend/InvenTree/templates/js/dynamic/nav.js b/src/backend/InvenTree/templates/js/dynamic/nav.js
index 8ce792648b..f207bf110d 100644
--- a/src/backend/InvenTree/templates/js/dynamic/nav.js
+++ b/src/backend/InvenTree/templates/js/dynamic/nav.js
@@ -21,12 +21,15 @@ function activatePanel(label, panel_name, options={}) {
$('.panel-visible').hide();
$('.panel-visible').removeClass('panel-visible');
+ // Remove illegal chars
+ panel_name = panel_name.replace('/', '');
+
// Find the target panel
var panel = `#panel-${panel_name}`;
var select = `#select-${panel_name}`;
// Check that the selected panel (and select) exist
- if ($(panel).length && $(select).length) {
+ if ($(panel).exists() && $(panel).length && $(select).length) {
// Yep, both are displayed
} else {
// Either the select or the panel are not displayed!
diff --git a/src/backend/InvenTree/templates/js/translated/build.js b/src/backend/InvenTree/templates/js/translated/build.js
index a8026414b7..899866ae35 100644
--- a/src/backend/InvenTree/templates/js/translated/build.js
+++ b/src/backend/InvenTree/templates/js/translated/build.js
@@ -2436,11 +2436,9 @@ function loadBuildLineTable(table, build_id, options={}) {
params.build = build_id;
if (output) {
+ params.tracked = true;
params.output = output;
name += `-${output}`;
- } else {
- // Default to untracked parts for the build
- params.tracked = false;
}
let filters = loadTableFilters('buildlines', params);
@@ -2649,7 +2647,11 @@ function loadBuildLineTable(table, build_id, options={}) {
if (row.part_detail.trackable && !options.output) {
// Tracked parts must be allocated to a specific build output
- return `{% trans "Tracked item" %}`;
+ return `
+
+ {% trans "Tracked item" %}
+
+
`;
}
if (row.allocated < row.quantity) {
diff --git a/src/backend/InvenTree/templates/js/translated/company.js b/src/backend/InvenTree/templates/js/translated/company.js
index 424f5a27fa..a008da2041 100644
--- a/src/backend/InvenTree/templates/js/translated/company.js
+++ b/src/backend/InvenTree/templates/js/translated/company.js
@@ -426,7 +426,8 @@ function companyFormFields() {
},
is_supplier: {},
is_manufacturer: {},
- is_customer: {}
+ is_customer: {},
+ active: {},
};
}
@@ -517,6 +518,15 @@ function loadCompanyTable(table, url, options={}) {
field: 'description',
title: '{% trans "Description" %}',
},
+ {
+ field: 'active',
+ title: '{% trans "Active" %}',
+ sortable: true,
+ switchable: true,
+ formatter: function(value) {
+ return yesNoLabel(value);
+ }
+ },
{
field: 'website',
title: '{% trans "Website" %}',
diff --git a/src/backend/InvenTree/templates/js/translated/purchase_order.js b/src/backend/InvenTree/templates/js/translated/purchase_order.js
index 47379dc2a3..c829fed140 100644
--- a/src/backend/InvenTree/templates/js/translated/purchase_order.js
+++ b/src/backend/InvenTree/templates/js/translated/purchase_order.js
@@ -1755,7 +1755,7 @@ function loadPurchaseOrderTable(table, options) {
sortable: true,
formatter: function(value, row) {
return formatCurrency(value, {
- currency: row.order_currency,
+ currency: row.order_currency ?? row.supplier_detail?.currency,
});
},
},
diff --git a/src/backend/InvenTree/templates/js/translated/return_order.js b/src/backend/InvenTree/templates/js/translated/return_order.js
index b699bd8422..5163b9696d 100644
--- a/src/backend/InvenTree/templates/js/translated/return_order.js
+++ b/src/backend/InvenTree/templates/js/translated/return_order.js
@@ -300,7 +300,7 @@ function loadReturnOrderTable(table, options={}) {
return '{% trans "Invalid Customer" %}';
}
- return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/sales-orders/`);
+ return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/?display=sales-orders/`);
}
},
{
@@ -384,7 +384,7 @@ function loadReturnOrderTable(table, options={}) {
visible: false,
formatter: function(value, row) {
return formatCurrency(value, {
- currency: row.order_currency
+ currency: row.order_currency ?? row.customer_detail?.currency,
});
}
}
diff --git a/src/backend/InvenTree/templates/js/translated/sales_order.js b/src/backend/InvenTree/templates/js/translated/sales_order.js
index 7f8ece3137..53085cf180 100644
--- a/src/backend/InvenTree/templates/js/translated/sales_order.js
+++ b/src/backend/InvenTree/templates/js/translated/sales_order.js
@@ -788,7 +788,7 @@ function loadSalesOrderTable(table, options) {
return '{% trans "Invalid Customer" %}';
}
- return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/sales-orders/`);
+ return imageHoverIcon(row.customer_detail.image) + renderLink(row.customer_detail.name, `/company/${row.customer}/?display=sales-orders/`);
}
},
{
@@ -857,7 +857,7 @@ function loadSalesOrderTable(table, options) {
sortable: true,
formatter: function(value, row) {
return formatCurrency(value, {
- currency: row.order_currency,
+ currency: row.order_currency ?? row.customer_detail?.currency,
});
}
}
diff --git a/src/backend/InvenTree/templates/js/translated/table_filters.js b/src/backend/InvenTree/templates/js/translated/table_filters.js
index 91786c3e59..0c10b06f33 100644
--- a/src/backend/InvenTree/templates/js/translated/table_filters.js
+++ b/src/backend/InvenTree/templates/js/translated/table_filters.js
@@ -791,6 +791,10 @@ function getContactFilters() {
// Return a dictionary of filters for the "company" table
function getCompanyFilters() {
return {
+ active: {
+ type: 'bool',
+ title: '{% trans "Active" %}'
+ },
is_manufacturer: {
type: 'bool',
title: '{% trans "Manufacturer" %}',
diff --git a/src/backend/InvenTree/users/api.py b/src/backend/InvenTree/users/api.py
index 17def22835..43fe8ad521 100644
--- a/src/backend/InvenTree/users/api.py
+++ b/src/backend/InvenTree/users/api.py
@@ -8,9 +8,11 @@ from django.contrib.auth.models import Group, User
from django.urls import include, path, re_path
from django.views.generic.base import RedirectView
-from dj_rest_auth.views import LogoutView
+from dj_rest_auth.views import LoginView, LogoutView
from drf_spectacular.utils import OpenApiResponse, extend_schema, extend_schema_view
from rest_framework import exceptions, permissions
+from rest_framework.authentication import BasicAuthentication
+from rest_framework.decorators import authentication_classes
from rest_framework.response import Response
from rest_framework.views import APIView
@@ -205,6 +207,18 @@ class GroupList(ListCreateAPI):
ordering_fields = ['name']
+@authentication_classes([BasicAuthentication])
+@extend_schema_view(
+ post=extend_schema(
+ responses={200: OpenApiResponse(description='User successfully logged in')}
+ )
+)
+class Login(LoginView):
+ """API view for logging in via API."""
+
+ ...
+
+
@extend_schema_view(
post=extend_schema(
responses={200: OpenApiResponse(description='User successfully logged out')}
diff --git a/src/backend/InvenTree/users/models.py b/src/backend/InvenTree/users/models.py
index e2ddcd3417..fc4cc141ec 100644
--- a/src/backend/InvenTree/users/models.py
+++ b/src/backend/InvenTree/users/models.py
@@ -56,6 +56,17 @@ def default_token_expiry():
return InvenTree.helpers.current_date() + datetime.timedelta(days=365)
+def default_create_token(token_model, user, serializer):
+ """Generate a default value for the token."""
+ token = token_model.objects.filter(user=user, name='', revoked=False)
+
+ if token.exists():
+ return token.first()
+
+ else:
+ return token_model.objects.create(user=user, name='')
+
+
class ApiToken(AuthToken, InvenTree.models.MetadataMixin):
"""Extends the default token model provided by djangorestframework.authtoken.
diff --git a/src/backend/eslint.config.js b/src/backend/eslint.config.js
new file mode 100644
index 0000000000..2d64295f67
--- /dev/null
+++ b/src/backend/eslint.config.js
@@ -0,0 +1,38 @@
+// eslint.config.js
+import js from "@eslint/js";
+import globals from "globals";
+
+export default [
+ js.configs.recommended,
+ {
+ languageOptions: {
+ ecmaVersion: 12,
+ sourceType: "module",
+ globals: {
+ ...globals.browser,
+ ...globals.es2021,
+ ...globals.jquery,
+ }
+ },
+ rules: {
+ "no-var": "off",
+ "guard-for-in": "off",
+ "no-trailing-spaces": "off",
+ "camelcase": "off",
+ "padded-blocks": "off",
+ "prefer-const": "off",
+ "max-len": "off",
+ "require-jsdoc": "off",
+ "valid-jsdoc": "off",
+ "no-multiple-empty-lines": "off",
+ "comma-dangle": "off",
+ "no-unused-vars": "off",
+ "no-useless-escape": "off",
+ "prefer-spread": "off",
+ "indent": ["error", 4]
+ },
+ linterOptions: {
+ reportUnusedDisableDirectives: "off"
+ }
+ }
+];
diff --git a/src/backend/package-lock.json b/src/backend/package-lock.json
index 841b0e4a20..8a31b4a5fe 100644
--- a/src/backend/package-lock.json
+++ b/src/backend/package-lock.json
@@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
- "eslint": "^8.57.0",
+ "eslint": "^9.0.0",
"eslint-config-google": "^0.14.0"
}
},
@@ -31,6 +31,17 @@
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
"node_modules/@eslint-community/regexpp": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
@@ -40,14 +51,14 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
- "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.0.2.tgz",
+ "integrity": "sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==",
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
@@ -55,26 +66,26 @@
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/@eslint/js": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
- "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.0.0.tgz",
+ "integrity": "sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.14",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
- "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.12.3.tgz",
+ "integrity": "sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.2",
+ "@humanwhocodes/object-schema": "^2.0.3",
"debug": "^4.3.1",
"minimatch": "^3.0.5"
},
@@ -131,11 +142,6 @@
"node": ">= 8"
}
},
- "node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ=="
- },
"node_modules/acorn": {
"version": "8.11.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
@@ -289,17 +295,6 @@
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
},
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -312,40 +307,36 @@
}
},
"node_modules/eslint": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
- "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.0.0.tgz",
+ "integrity": "sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
+ "@eslint/eslintrc": "^3.0.2",
+ "@eslint/js": "9.0.0",
+ "@humanwhocodes/config-array": "^0.12.3",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
- "@ungap/structured-clone": "^1.2.0",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
- "doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
+ "eslint-scope": "^8.0.1",
+ "eslint-visitor-keys": "^4.0.0",
+ "espree": "^10.0.1",
"esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
+ "file-entry-cache": "^8.0.0",
"find-up": "^5.0.0",
"glob-parent": "^6.0.2",
- "globals": "^13.19.0",
"graphemer": "^1.4.0",
"ignore": "^5.2.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
"is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
"lodash.merge": "^4.6.2",
@@ -359,7 +350,7 @@
"eslint": "bin/eslint.js"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -377,42 +368,42 @@
}
},
"node_modules/eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz",
+ "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+ "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/espree": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
- "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz",
+ "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==",
"dependencies": {
- "acorn": "^8.9.0",
+ "acorn": "^8.11.3",
"acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
+ "eslint-visitor-keys": "^4.0.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
@@ -480,14 +471,14 @@
}
},
"node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
"dependencies": {
- "flat-cache": "^3.0.4"
+ "flat-cache": "^4.0.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=16.0.0"
}
},
"node_modules/find-up": {
@@ -506,16 +497,15 @@
}
},
"node_modules/flat-cache": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
- "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
"dependencies": {
"flatted": "^3.2.9",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
+ "keyv": "^4.5.4"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": ">=16"
}
},
"node_modules/flatted": {
@@ -523,30 +513,6 @@
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
"integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw=="
},
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@@ -559,14 +525,11 @@
}
},
"node_modules/globals": {
- "version": "13.24.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
- "dependencies": {
- "type-fest": "^0.20.2"
- },
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
"engines": {
- "node": ">=8"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -616,20 +579,6 @@
"node": ">=0.8.19"
}
},
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -748,14 +697,6 @@
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
},
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dependencies": {
- "wrappy": "1"
- }
- },
"node_modules/optionator": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
@@ -819,14 +760,6 @@
"node": ">=8"
}
},
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -887,20 +820,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -991,17 +910,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -1024,11 +932,6 @@
"node": ">= 8"
}
},
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/src/backend/package.json b/src/backend/package.json
index d4d6fa34e5..d1d89b7339 100644
--- a/src/backend/package.json
+++ b/src/backend/package.json
@@ -1,6 +1,7 @@
{
"dependencies": {
- "eslint": "^8.57.0",
+ "eslint": "^9.0.0",
"eslint-config-google": "^0.14.0"
- }
+ },
+ "type": "module"
}
diff --git a/src/backend/requirements-dev.in b/src/backend/requirements-dev.in
index b345e119ba..c4137f3bc4 100644
--- a/src/backend/requirements-dev.in
+++ b/src/backend/requirements-dev.in
@@ -1,7 +1,6 @@
# Dev requirements for InvenTree
-c requirements.txt
coverage[toml] # Unit test coverage
-coveralls==2.1.2 # Coveralls linking (for tracking coverage) # PINNED 2022-06-28 - Old version needed for correct upload
django-admin-shell # Remote shell access
django-querycount # Display number of URL queries for requests
django-slowtests # Show which unit tests are running slowly
diff --git a/src/backend/requirements-dev.txt b/src/backend/requirements-dev.txt
index 693c8bc1d4..4c024e6711 100644
--- a/src/backend/requirements-dev.txt
+++ b/src/backend/requirements-dev.txt
@@ -1,90 +1,413 @@
# This file was autogenerated by uv via the following command:
-# uv pip compile src/backend/requirements-dev.in -o src/backend/requirements-dev.txt --python-version=3.9 --no-strip-extras
-asgiref==3.8.1
+# uv pip compile src/backend/requirements-dev.in -o src/backend/requirements-dev.txt --python-version=3.9 --no-strip-extras --generate-hashes
+asgiref==3.8.1 \
+ --hash=sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47 \
+ --hash=sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590
# via django
-build==1.2.1
+build==1.2.1 \
+ --hash=sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d \
+ --hash=sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4
# via pip-tools
-certifi==2024.2.2
- # via requests
-cffi==1.16.0
+cffi==1.16.0 \
+ --hash=sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc \
+ --hash=sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a \
+ --hash=sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417 \
+ --hash=sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab \
+ --hash=sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520 \
+ --hash=sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36 \
+ --hash=sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743 \
+ --hash=sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8 \
+ --hash=sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed \
+ --hash=sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684 \
+ --hash=sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56 \
+ --hash=sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324 \
+ --hash=sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d \
+ --hash=sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235 \
+ --hash=sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e \
+ --hash=sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088 \
+ --hash=sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000 \
+ --hash=sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7 \
+ --hash=sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e \
+ --hash=sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673 \
+ --hash=sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c \
+ --hash=sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe \
+ --hash=sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2 \
+ --hash=sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098 \
+ --hash=sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8 \
+ --hash=sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a \
+ --hash=sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0 \
+ --hash=sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b \
+ --hash=sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896 \
+ --hash=sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e \
+ --hash=sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9 \
+ --hash=sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2 \
+ --hash=sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b \
+ --hash=sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6 \
+ --hash=sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404 \
+ --hash=sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f \
+ --hash=sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0 \
+ --hash=sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4 \
+ --hash=sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc \
+ --hash=sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936 \
+ --hash=sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba \
+ --hash=sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872 \
+ --hash=sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb \
+ --hash=sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614 \
+ --hash=sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1 \
+ --hash=sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d \
+ --hash=sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969 \
+ --hash=sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b \
+ --hash=sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4 \
+ --hash=sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627 \
+ --hash=sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956 \
+ --hash=sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357
# via cryptography
-cfgv==3.4.0
+cfgv==3.4.0 \
+ --hash=sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9 \
+ --hash=sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560
# via pre-commit
-charset-normalizer==3.3.2
- # via
- # pdfminer-six
- # requests
-click==8.1.7
- # via pip-tools
-coverage[toml]==5.5
- # via coveralls
-coveralls==2.1.2
-cryptography==42.0.5
+charset-normalizer==3.3.2 \
+ --hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \
+ --hash=sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087 \
+ --hash=sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786 \
+ --hash=sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8 \
+ --hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \
+ --hash=sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185 \
+ --hash=sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574 \
+ --hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \
+ --hash=sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519 \
+ --hash=sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898 \
+ --hash=sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269 \
+ --hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \
+ --hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \
+ --hash=sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6 \
+ --hash=sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8 \
+ --hash=sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a \
+ --hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \
+ --hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc \
+ --hash=sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714 \
+ --hash=sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2 \
+ --hash=sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc \
+ --hash=sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce \
+ --hash=sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d \
+ --hash=sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e \
+ --hash=sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 \
+ --hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \
+ --hash=sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96 \
+ --hash=sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d \
+ --hash=sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a \
+ --hash=sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4 \
+ --hash=sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77 \
+ --hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \
+ --hash=sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0 \
+ --hash=sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed \
+ --hash=sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068 \
+ --hash=sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac \
+ --hash=sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25 \
+ --hash=sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8 \
+ --hash=sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab \
+ --hash=sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26 \
+ --hash=sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2 \
+ --hash=sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db \
+ --hash=sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f \
+ --hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \
+ --hash=sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99 \
+ --hash=sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c \
+ --hash=sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d \
+ --hash=sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811 \
+ --hash=sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa \
+ --hash=sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a \
+ --hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \
+ --hash=sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b \
+ --hash=sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04 \
+ --hash=sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c \
+ --hash=sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001 \
+ --hash=sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458 \
+ --hash=sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389 \
+ --hash=sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99 \
+ --hash=sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985 \
+ --hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \
+ --hash=sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238 \
+ --hash=sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f \
+ --hash=sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d \
+ --hash=sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796 \
+ --hash=sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a \
+ --hash=sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143 \
+ --hash=sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8 \
+ --hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \
+ --hash=sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5 \
+ --hash=sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5 \
+ --hash=sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711 \
+ --hash=sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4 \
+ --hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \
+ --hash=sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c \
+ --hash=sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7 \
+ --hash=sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4 \
+ --hash=sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b \
+ --hash=sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae \
+ --hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \
+ --hash=sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c \
+ --hash=sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae \
+ --hash=sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8 \
+ --hash=sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887 \
+ --hash=sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b \
+ --hash=sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4 \
+ --hash=sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f \
+ --hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \
+ --hash=sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33 \
+ --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \
+ --hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561
# via pdfminer-six
-distlib==0.3.8
+click==8.1.7 \
+ --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
+ --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de
+ # via pip-tools
+coverage[toml]==5.5 \
+ --hash=sha256:004d1880bed2d97151facef49f08e255a20ceb6f9432df75f4eef018fdd5a78c \
+ --hash=sha256:01d84219b5cdbfc8122223b39a954820929497a1cb1422824bb86b07b74594b6 \
+ --hash=sha256:040af6c32813fa3eae5305d53f18875bedd079960822ef8ec067a66dd8afcd45 \
+ --hash=sha256:06191eb60f8d8a5bc046f3799f8a07a2d7aefb9504b0209aff0b47298333302a \
+ --hash=sha256:13034c4409db851670bc9acd836243aeee299949bd5673e11844befcb0149f03 \
+ --hash=sha256:13c4ee887eca0f4c5a247b75398d4114c37882658300e153113dafb1d76de529 \
+ --hash=sha256:184a47bbe0aa6400ed2d41d8e9ed868b8205046518c52464fde713ea06e3a74a \
+ --hash=sha256:18ba8bbede96a2c3dde7b868de9dcbd55670690af0988713f0603f037848418a \
+ --hash=sha256:1aa846f56c3d49205c952d8318e76ccc2ae23303351d9270ab220004c580cfe2 \
+ --hash=sha256:217658ec7187497e3f3ebd901afdca1af062b42cfe3e0dafea4cced3983739f6 \
+ --hash=sha256:24d4a7de75446be83244eabbff746d66b9240ae020ced65d060815fac3423759 \
+ --hash=sha256:2910f4d36a6a9b4214bb7038d537f015346f413a975d57ca6b43bf23d6563b53 \
+ --hash=sha256:2949cad1c5208b8298d5686d5a85b66aae46d73eec2c3e08c817dd3513e5848a \
+ --hash=sha256:2a3859cb82dcbda1cfd3e6f71c27081d18aa251d20a17d87d26d4cd216fb0af4 \
+ --hash=sha256:2cafbbb3af0733db200c9b5f798d18953b1a304d3f86a938367de1567f4b5bff \
+ --hash=sha256:2e0d881ad471768bf6e6c2bf905d183543f10098e3b3640fc029509530091502 \
+ --hash=sha256:30c77c1dc9f253283e34c27935fded5015f7d1abe83bc7821680ac444eaf7793 \
+ --hash=sha256:3487286bc29a5aa4b93a072e9592f22254291ce96a9fbc5251f566b6b7343cdb \
+ --hash=sha256:372da284cfd642d8e08ef606917846fa2ee350f64994bebfbd3afb0040436905 \
+ --hash=sha256:41179b8a845742d1eb60449bdb2992196e211341818565abded11cfa90efb821 \
+ --hash=sha256:44d654437b8ddd9eee7d1eaee28b7219bec228520ff809af170488fd2fed3e2b \
+ --hash=sha256:4a7697d8cb0f27399b0e393c0b90f0f1e40c82023ea4d45d22bce7032a5d7b81 \
+ --hash=sha256:51cb9476a3987c8967ebab3f0fe144819781fca264f57f89760037a2ea191cb0 \
+ --hash=sha256:52596d3d0e8bdf3af43db3e9ba8dcdaac724ba7b5ca3f6358529d56f7a166f8b \
+ --hash=sha256:53194af30d5bad77fcba80e23a1441c71abfb3e01192034f8246e0d8f99528f3 \
+ --hash=sha256:5fec2d43a2cc6965edc0bb9e83e1e4b557f76f843a77a2496cbe719583ce8184 \
+ --hash=sha256:6c90e11318f0d3c436a42409f2749ee1a115cd8b067d7f14c148f1ce5574d701 \
+ --hash=sha256:74d881fc777ebb11c63736622b60cb9e4aee5cace591ce274fb69e582a12a61a \
+ --hash=sha256:7501140f755b725495941b43347ba8a2777407fc7f250d4f5a7d2a1050ba8e82 \
+ --hash=sha256:796c9c3c79747146ebd278dbe1e5c5c05dd6b10cc3bcb8389dfdf844f3ead638 \
+ --hash=sha256:869a64f53488f40fa5b5b9dcb9e9b2962a66a87dab37790f3fcfb5144b996ef5 \
+ --hash=sha256:8963a499849a1fc54b35b1c9f162f4108017b2e6db2c46c1bed93a72262ed083 \
+ --hash=sha256:8d0a0725ad7c1a0bcd8d1b437e191107d457e2ec1084b9f190630a4fb1af78e6 \
+ --hash=sha256:900fbf7759501bc7807fd6638c947d7a831fc9fdf742dc10f02956ff7220fa90 \
+ --hash=sha256:92b017ce34b68a7d67bd6d117e6d443a9bf63a2ecf8567bb3d8c6c7bc5014465 \
+ --hash=sha256:970284a88b99673ccb2e4e334cfb38a10aab7cd44f7457564d11898a74b62d0a \
+ --hash=sha256:972c85d205b51e30e59525694670de6a8a89691186012535f9d7dbaa230e42c3 \
+ --hash=sha256:9a1ef3b66e38ef8618ce5fdc7bea3d9f45f3624e2a66295eea5e57966c85909e \
+ --hash=sha256:af0e781009aaf59e25c5a678122391cb0f345ac0ec272c7961dc5455e1c40066 \
+ --hash=sha256:b6d534e4b2ab35c9f93f46229363e17f63c53ad01330df9f2d6bd1187e5eaacf \
+ --hash=sha256:b7895207b4c843c76a25ab8c1e866261bcfe27bfaa20c192de5190121770672b \
+ --hash=sha256:c0891a6a97b09c1f3e073a890514d5012eb256845c451bd48f7968ef939bf4ae \
+ --hash=sha256:c2723d347ab06e7ddad1a58b2a821218239249a9e4365eaff6649d31180c1669 \
+ --hash=sha256:d1f8bf7b90ba55699b3a5e44930e93ff0189aa27186e96071fac7dd0d06a1873 \
+ --hash=sha256:d1f9ce122f83b2305592c11d64f181b87153fc2c2bbd3bb4a3dde8303cfb1a6b \
+ --hash=sha256:d314ed732c25d29775e84a960c3c60808b682c08d86602ec2c3008e1202e3bb6 \
+ --hash=sha256:d636598c8305e1f90b439dbf4f66437de4a5e3c31fdf47ad29542478c8508bbb \
+ --hash=sha256:deee1077aae10d8fa88cb02c845cfba9b62c55e1183f52f6ae6a2df6a2187160 \
+ --hash=sha256:ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c \
+ --hash=sha256:f030f8873312a16414c0d8e1a1ddff2d3235655a2174e3648b4fa66b3f2f1079 \
+ --hash=sha256:f0b278ce10936db1a37e6954e15a3730bea96a0997c26d7fee88e6c396c2086d \
+ --hash=sha256:f11642dddbb0253cc8853254301b51390ba0081750a8ac03f20ea8103f0c56b6
+cryptography==42.0.5 \
+ --hash=sha256:0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee \
+ --hash=sha256:111a0d8553afcf8eb02a4fea6ca4f59d48ddb34497aa8706a6cf536f1a5ec576 \
+ --hash=sha256:16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d \
+ --hash=sha256:1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30 \
+ --hash=sha256:1f71c10d1e88467126f0efd484bd44bca5e14c664ec2ede64c32f20875c0d413 \
+ --hash=sha256:2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb \
+ --hash=sha256:2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da \
+ --hash=sha256:329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4 \
+ --hash=sha256:37dd623507659e08be98eec89323469e8c7b4c1407c85112634ae3dbdb926fdd \
+ --hash=sha256:3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc \
+ --hash=sha256:5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8 \
+ --hash=sha256:6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1 \
+ --hash=sha256:7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc \
+ --hash=sha256:7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e \
+ --hash=sha256:9481ffe3cf013b71b2428b905c4f7a9a4f76ec03065b05ff499bb5682a8d9ad8 \
+ --hash=sha256:98d8dc6d012b82287f2c3d26ce1d2dd130ec200c8679b6213b3c73c08b2b7940 \
+ --hash=sha256:a011a644f6d7d03736214d38832e030d8268bcff4a41f728e6030325fea3e400 \
+ --hash=sha256:a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7 \
+ --hash=sha256:a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16 \
+ --hash=sha256:b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278 \
+ --hash=sha256:b6cd2203306b63e41acdf39aa93b86fb566049aeb6dc489b70e34bcd07adca74 \
+ --hash=sha256:b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec \
+ --hash=sha256:b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1 \
+ --hash=sha256:ba334e6e4b1d92442b75ddacc615c5476d4ad55cc29b15d590cc6b86efa487e2 \
+ --hash=sha256:ba3e4a42397c25b7ff88cdec6e2a16c2be18720f317506ee25210f6d31925f9c \
+ --hash=sha256:c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922 \
+ --hash=sha256:cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a \
+ --hash=sha256:cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6 \
+ --hash=sha256:e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1 \
+ --hash=sha256:e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e \
+ --hash=sha256:f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac \
+ --hash=sha256:f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7
+ # via pdfminer-six
+distlib==0.3.8 \
+ --hash=sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784 \
+ --hash=sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64
# via virtualenv
-django==4.2.11
+django==4.2.11 \
+ --hash=sha256:6e6ff3db2d8dd0c986b4eec8554c8e4f919b5c1ff62a5b4390c17aff2ed6e5c4 \
+ --hash=sha256:ddc24a0a8280a0430baa37aff11f28574720af05888c62b7cfe71d219f4599d3
# via
# django-admin-shell
# django-slowtests
-django-admin-shell==2.0.1
-django-querycount==0.8.3
-django-slowtests==1.1.1
-django-test-migrations==1.3.0
-docopt==0.6.2
- # via coveralls
-filelock==3.13.3
+django-admin-shell==2.0.1 \
+ --hash=sha256:334a651e53ae4f59d0d279d7ede7dc5ed7a7733d4d093765b447dca5274c7b30 \
+ --hash=sha256:b129e282ebd581c2099c0504edf081259728b3a504b40c5784d0457b8cb41470
+django-querycount==0.8.3 \
+ --hash=sha256:0782484e8a1bd29498fa0195a67106e47cdcc98fafe80cebb1991964077cb694
+django-slowtests==1.1.1 \
+ --hash=sha256:3c6936d420c9df444ac03625b41d97de043c662bbde61fbcd33e4cd407d0c247
+django-test-migrations==1.3.0 \
+ --hash=sha256:b42edb1af481e08c9d91c95aa9b373e76e905a931bc19c086ec00a6cb936876e \
+ --hash=sha256:b52b29475f9a1bcaa4512f2ec8fad08b5f470cf1cf522e86b7d950252fb6fbf1
+filelock==3.13.3 \
+ --hash=sha256:5ffa845303983e7a0b7ae17636509bc97997d58afeafa72fb141a17b152284cb \
+ --hash=sha256:a79895a25bbefdf55d1a2a0a80968f7dbb28edcd6d4234a0afb3f37ecde4b546
# via virtualenv
-identify==2.5.35
+identify==2.5.35 \
+ --hash=sha256:10a7ca245cfcd756a554a7288159f72ff105ad233c7c4b9c6f0f4d108f5f6791 \
+ --hash=sha256:c4de0081837b211594f8e877a6b4fad7ca32bbfc1a9307fdd61c28bfe923f13e
# via pre-commit
-idna==3.6
- # via requests
-importlib-metadata==7.0.0
+importlib-metadata==7.0.0 \
+ --hash=sha256:7fc841f8b8332803464e5dc1c63a2e59121f46ca186c0e2e182e80bf8c1319f7 \
+ --hash=sha256:d97503976bb81f40a193d41ee6570868479c69d5068651eb039c40d850c59d67
# via build
-isort==5.13.2
-nodeenv==1.8.0
+isort==5.13.2 \
+ --hash=sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109 \
+ --hash=sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6
+nodeenv==1.8.0 \
+ --hash=sha256:d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2 \
+ --hash=sha256:df865724bb3c3adc86b3876fa209771517b0cfe596beff01a92700e0e8be4cec
# via pre-commit
-packaging==24.0
+packaging==24.0 \
+ --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \
+ --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9
# via build
-pdfminer-six==20231228
-pip==24.0
+pdfminer-six==20231228 \
+ --hash=sha256:6004da3ad1a7a4d45930cb950393df89b068e73be365a6ff64a838d37bcb08c4 \
+ --hash=sha256:e8d3c3310e6fbc1fe414090123ab01351634b4ecb021232206c4c9a8ca3e3b8f
+pip==24.0 \
+ --hash=sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc \
+ --hash=sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2
# via pip-tools
-pip-tools==7.4.1
-platformdirs==4.2.0
+pip-tools==7.4.1 \
+ --hash=sha256:4c690e5fbae2f21e87843e89c26191f0d9454f362d8acdbd695716493ec8b3a9 \
+ --hash=sha256:864826f5073864450e24dbeeb85ce3920cdfb09848a3d69ebf537b521f14bcc9
+platformdirs==4.2.0 \
+ --hash=sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068 \
+ --hash=sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768
# via virtualenv
-pre-commit==3.7.0
-pycparser==2.22
+pre-commit==3.7.0 \
+ --hash=sha256:5eae9e10c2b5ac51577c3452ec0a490455c45a0533f7960f993a0d01e59decab \
+ --hash=sha256:e209d61b8acdcf742404408531f0c37d49d2c734fd7cff2d6076083d191cb060
+pycparser==2.22 \
+ --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \
+ --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc
# via cffi
-pyproject-hooks==1.0.0
+pyproject-hooks==1.0.0 \
+ --hash=sha256:283c11acd6b928d2f6a7c73fa0d01cb2bdc5f07c57a2eeb6e83d5e56b97976f8 \
+ --hash=sha256:f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5
# via
# build
# pip-tools
-pyyaml==6.0.1
+pyyaml==6.0.1 \
+ --hash=sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5 \
+ --hash=sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc \
+ --hash=sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df \
+ --hash=sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741 \
+ --hash=sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206 \
+ --hash=sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27 \
+ --hash=sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595 \
+ --hash=sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62 \
+ --hash=sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98 \
+ --hash=sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696 \
+ --hash=sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290 \
+ --hash=sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9 \
+ --hash=sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d \
+ --hash=sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6 \
+ --hash=sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867 \
+ --hash=sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47 \
+ --hash=sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486 \
+ --hash=sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6 \
+ --hash=sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3 \
+ --hash=sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007 \
+ --hash=sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938 \
+ --hash=sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0 \
+ --hash=sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c \
+ --hash=sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735 \
+ --hash=sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d \
+ --hash=sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28 \
+ --hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \
+ --hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \
+ --hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \
+ --hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
+ --hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \
+ --hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \
+ --hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \
+ --hash=sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0 \
+ --hash=sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515 \
+ --hash=sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c \
+ --hash=sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c \
+ --hash=sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924 \
+ --hash=sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34 \
+ --hash=sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 \
+ --hash=sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859 \
+ --hash=sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673 \
+ --hash=sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54 \
+ --hash=sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a \
+ --hash=sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b \
+ --hash=sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab \
+ --hash=sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa \
+ --hash=sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c \
+ --hash=sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585 \
+ --hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \
+ --hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f
# via pre-commit
-requests==2.31.0
- # via coveralls
-setuptools==69.2.0
+setuptools==69.5.1 \
+ --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \
+ --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32
# via
# nodeenv
# pip-tools
-sqlparse==0.4.4
+sqlparse==0.4.4 \
+ --hash=sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3 \
+ --hash=sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c
# via django
-toml==0.10.2
+toml==0.10.2 \
+ --hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b \
+ --hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f
# via coverage
-tomli==2.0.1
+tomli==2.0.1 \
+ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
+ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f
# via
# build
# pip-tools
# pyproject-hooks
-typing-extensions==4.11.0
+typing-extensions==4.11.0 \
+ --hash=sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0 \
+ --hash=sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a
# via
# asgiref
# django-test-migrations
-urllib3==2.2.1
- # via requests
-virtualenv==20.25.1
+virtualenv==20.25.1 \
+ --hash=sha256:961c026ac520bac5f69acb8ea063e8a4f071bcc9457b9c1f28f6b085c511583a \
+ --hash=sha256:e08e13ecdca7a0bd53798f356d5831434afa5b07b93f0abdf0797b7a06ffe197
# via pre-commit
-wheel==0.43.0
+wheel==0.43.0 \
+ --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \
+ --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81
# via pip-tools
-zipp==3.18.1
+zipp==3.18.1 \
+ --hash=sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b \
+ --hash=sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715
# via importlib-metadata
diff --git a/src/backend/requirements.txt b/src/backend/requirements.txt
index 4586243a19..ee568519d3 100644
--- a/src/backend/requirements.txt
+++ b/src/backend/requirements.txt
@@ -1,53 +1,337 @@
# This file was autogenerated by uv via the following command:
-# uv pip compile src/backend/requirements.in -o src/backend/requirements.txt --python-version=3.9 --no-strip-extras
-asgiref==3.8.1
+# uv pip compile src/backend/requirements.in -o src/backend/requirements.txt --python-version=3.9 --no-strip-extras --generate-hashes
+asgiref==3.8.1 \
+ --hash=sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47 \
+ --hash=sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590
# via
# django
# django-cors-headers
-async-timeout==4.0.3
+async-timeout==4.0.3 \
+ --hash=sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f \
+ --hash=sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028
# via redis
-attrs==23.2.0
+attrs==23.2.0 \
+ --hash=sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30 \
+ --hash=sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1
# via
# jsonschema
# referencing
-babel==2.14.0
+babel==2.14.0 \
+ --hash=sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363 \
+ --hash=sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287
# via py-moneyed
-bleach[css]==6.1.0
+bleach[css]==6.1.0 \
+ --hash=sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe \
+ --hash=sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6
# via django-markdownify
-brotli==1.1.0
+brotli==1.1.0 \
+ --hash=sha256:03d20af184290887bdea3f0f78c4f737d126c74dc2f3ccadf07e54ceca3bf208 \
+ --hash=sha256:0541e747cce78e24ea12d69176f6a7ddb690e62c425e01d31cc065e69ce55b48 \
+ --hash=sha256:069a121ac97412d1fe506da790b3e69f52254b9df4eb665cd42460c837193354 \
+ --hash=sha256:0b63b949ff929fbc2d6d3ce0e924c9b93c9785d877a21a1b678877ffbbc4423a \
+ --hash=sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128 \
+ --hash=sha256:11d00ed0a83fa22d29bc6b64ef636c4552ebafcef57154b4ddd132f5638fbd1c \
+ --hash=sha256:141bd4d93984070e097521ed07e2575b46f817d08f9fa42b16b9b5f27b5ac088 \
+ --hash=sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9 \
+ --hash=sha256:1ab4fbee0b2d9098c74f3057b2bc055a8bd92ccf02f65944a241b4349229185a \
+ --hash=sha256:1ae56aca0402a0f9a3431cddda62ad71666ca9d4dc3a10a142b9dce2e3c0cda3 \
+ --hash=sha256:224e57f6eac61cc449f498cc5f0e1725ba2071a3d4f48d5d9dffba42db196438 \
+ --hash=sha256:22fc2a8549ffe699bfba2256ab2ed0421a7b8fadff114a3d201794e45a9ff578 \
+ --hash=sha256:23032ae55523cc7bccb4f6a0bf368cd25ad9bcdcc1990b64a647e7bbcce9cb5b \
+ --hash=sha256:2333e30a5e00fe0fe55903c8832e08ee9c3b1382aacf4db26664a16528d51b4b \
+ --hash=sha256:2954c1c23f81c2eaf0b0717d9380bd348578a94161a65b3a2afc62c86467dd68 \
+ --hash=sha256:2de9d02f5bda03d27ede52e8cfe7b865b066fa49258cbab568720aa5be80a47d \
+ --hash=sha256:30924eb4c57903d5a7526b08ef4a584acc22ab1ffa085faceb521521d2de32dd \
+ --hash=sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409 \
+ --hash=sha256:38025d9f30cf4634f8309c6874ef871b841eb3c347e90b0851f63d1ded5212da \
+ --hash=sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50 \
+ --hash=sha256:3d7954194c36e304e1523f55d7042c59dc53ec20dd4e9ea9d151f1b62b4415c0 \
+ --hash=sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180 \
+ --hash=sha256:43ce1b9935bfa1ede40028054d7f48b5469cd02733a365eec8a329ffd342915d \
+ --hash=sha256:4d4a848d1837973bf0f4b5e54e3bec977d99be36a7895c61abb659301b02c112 \
+ --hash=sha256:4ed11165dd45ce798d99a136808a794a748d5dc38511303239d4e2363c0695dc \
+ --hash=sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265 \
+ --hash=sha256:524f35912131cc2cabb00edfd8d573b07f2d9f21fa824bd3fb19725a9cf06327 \
+ --hash=sha256:587ca6d3cef6e4e868102672d3bd9dc9698c309ba56d41c2b9c85bbb903cdb95 \
+ --hash=sha256:5b3cc074004d968722f51e550b41a27be656ec48f8afaeeb45ebf65b561481dd \
+ --hash=sha256:5eeb539606f18a0b232d4ba45adccde4125592f3f636a6182b4a8a436548b914 \
+ --hash=sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0 \
+ --hash=sha256:5fb2ce4b8045c78ebbc7b8f3c15062e435d47e7393cc57c25115cfd49883747a \
+ --hash=sha256:6172447e1b368dcbc458925e5ddaf9113477b0ed542df258d84fa28fc45ceea7 \
+ --hash=sha256:6c3020404e0b5eefd7c9485ccf8393cfb75ec38ce75586e046573c9dc29967a0 \
+ --hash=sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451 \
+ --hash=sha256:7905193081db9bfa73b1219140b3d315831cbff0d8941f22da695832f0dd188f \
+ --hash=sha256:7c4855522edb2e6ae7fdb58e07c3ba9111e7621a8956f481c68d5d979c93032e \
+ --hash=sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248 \
+ --hash=sha256:7f4bf76817c14aa98cc6697ac02f3972cb8c3da93e9ef16b9c66573a68014f91 \
+ --hash=sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724 \
+ --hash=sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966 \
+ --hash=sha256:890b5a14ce214389b2cc36ce82f3093f96f4cc730c1cffdbefff77a7c71f2a97 \
+ --hash=sha256:89f4988c7203739d48c6f806f1e87a1d96e0806d44f0fba61dba81392c9e474d \
+ --hash=sha256:8dadd1314583ec0bf2d1379f7008ad627cd6336625d6679cf2f8e67081b83acf \
+ --hash=sha256:901032ff242d479a0efa956d853d16875d42157f98951c0230f69e69f9c09bac \
+ --hash=sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951 \
+ --hash=sha256:919e32f147ae93a09fe064d77d5ebf4e35502a8df75c29fb05788528e330fe74 \
+ --hash=sha256:929811df5462e182b13920da56c6e0284af407d1de637d8e536c5cd00a7daf60 \
+ --hash=sha256:949f3b7c29912693cee0afcf09acd6ebc04c57af949d9bf77d6101ebb61e388c \
+ --hash=sha256:a090ca607cbb6a34b0391776f0cb48062081f5f60ddcce5d11838e67a01928d1 \
+ --hash=sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8 \
+ --hash=sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d \
+ --hash=sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc \
+ --hash=sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61 \
+ --hash=sha256:a599669fd7c47233438a56936988a2478685e74854088ef5293802123b5b2460 \
+ --hash=sha256:a743e5a28af5f70f9c080380a5f908d4d21d40e8f0e0c8901604d15cfa9ba751 \
+ --hash=sha256:a77def80806c421b4b0af06f45d65a136e7ac0bdca3c09d9e2ea4e515367c7e9 \
+ --hash=sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1 \
+ --hash=sha256:ae15b066e5ad21366600ebec29a7ccbc86812ed267e4b28e860b8ca16a2bc474 \
+ --hash=sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2 \
+ --hash=sha256:c8146669223164fc87a7e3de9f81e9423c67a79d6b3447994dfb9c95da16e2d6 \
+ --hash=sha256:c8fd5270e906eef71d4a8d19b7c6a43760c6abcfcc10c9101d14eb2357418de9 \
+ --hash=sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2 \
+ --hash=sha256:cdad5b9014d83ca68c25d2e9444e28e967ef16e80f6b436918c700c117a85467 \
+ --hash=sha256:cdbc1fc1bc0bff1cef838eafe581b55bfbffaed4ed0318b724d0b71d4d377619 \
+ --hash=sha256:ceb64bbc6eac5a140ca649003756940f8d6a7c444a68af170b3187623b43bebf \
+ --hash=sha256:d0c5516f0aed654134a2fc936325cc2e642f8a0e096d075209672eb321cff408 \
+ --hash=sha256:d143fd47fad1db3d7c27a1b1d66162e855b5d50a89666af46e1679c496e8e579 \
+ --hash=sha256:d192f0f30804e55db0d0e0a35d83a9fead0e9a359a9ed0285dbacea60cc10a84 \
+ --hash=sha256:db85ecf4e609a48f4b29055f1e144231b90edc90af7481aa731ba2d059226b1b \
+ --hash=sha256:de6551e370ef19f8de1807d0a9aa2cdfdce2e85ce88b122fe9f6b2b076837e59 \
+ --hash=sha256:e1140c64812cb9b06c922e77f1c26a75ec5e3f0fb2bf92cc8c58720dec276752 \
+ --hash=sha256:e6a904cb26bfefc2f0a6f240bdf5233be78cd2488900a2f846f3c3ac8489ab80 \
+ --hash=sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0 \
+ --hash=sha256:e93dfc1a1165e385cc8239fab7c036fb2cd8093728cbd85097b284d7b99249a2 \
+ --hash=sha256:efa8b278894b14d6da122a72fefcebc28445f2d3f880ac59d46c90f4c13be9a3 \
+ --hash=sha256:f0d8a7a6b5983c2496e364b969f0e526647a06b075d034f3297dc66f3b360c64 \
+ --hash=sha256:f296c40e23065d0d6650c4aefe7470d2a25fffda489bcc3eb66083f3ac9f6643 \
+ --hash=sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e \
+ --hash=sha256:f733d788519c7e3e71f0855c96618720f5d3d60c3cb829d8bbb722dddce37985 \
+ --hash=sha256:fce1473f3ccc4187f75b4690cfc922628aed4d3dd013d047f95a9b3919a86596 \
+ --hash=sha256:fd5f17ff8f14003595ab414e45fce13d073e0762394f957182e69035c9f3d7c2 \
+ --hash=sha256:fdc3ff3bfccdc6b9cc7c342c03aa2400683f0cb891d46e94b64a197910dc4064
# via fonttools
-certifi==2024.2.2
+certifi==2024.2.2 \
+ --hash=sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f \
+ --hash=sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1
# via
# requests
# sentry-sdk
-cffi==1.16.0
+cffi==1.16.0 \
+ --hash=sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc \
+ --hash=sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a \
+ --hash=sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417 \
+ --hash=sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab \
+ --hash=sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520 \
+ --hash=sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36 \
+ --hash=sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743 \
+ --hash=sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8 \
+ --hash=sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed \
+ --hash=sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684 \
+ --hash=sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56 \
+ --hash=sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324 \
+ --hash=sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d \
+ --hash=sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235 \
+ --hash=sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e \
+ --hash=sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088 \
+ --hash=sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000 \
+ --hash=sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7 \
+ --hash=sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e \
+ --hash=sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673 \
+ --hash=sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c \
+ --hash=sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe \
+ --hash=sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2 \
+ --hash=sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098 \
+ --hash=sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8 \
+ --hash=sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a \
+ --hash=sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0 \
+ --hash=sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b \
+ --hash=sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896 \
+ --hash=sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e \
+ --hash=sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9 \
+ --hash=sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2 \
+ --hash=sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b \
+ --hash=sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6 \
+ --hash=sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404 \
+ --hash=sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f \
+ --hash=sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0 \
+ --hash=sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4 \
+ --hash=sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc \
+ --hash=sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936 \
+ --hash=sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba \
+ --hash=sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872 \
+ --hash=sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb \
+ --hash=sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614 \
+ --hash=sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1 \
+ --hash=sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d \
+ --hash=sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969 \
+ --hash=sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b \
+ --hash=sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4 \
+ --hash=sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627 \
+ --hash=sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956 \
+ --hash=sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357
# via
# cryptography
# weasyprint
-charset-normalizer==3.3.2
+charset-normalizer==3.3.2 \
+ --hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \
+ --hash=sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087 \
+ --hash=sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786 \
+ --hash=sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8 \
+ --hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \
+ --hash=sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185 \
+ --hash=sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574 \
+ --hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \
+ --hash=sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519 \
+ --hash=sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898 \
+ --hash=sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269 \
+ --hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \
+ --hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \
+ --hash=sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6 \
+ --hash=sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8 \
+ --hash=sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a \
+ --hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \
+ --hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc \
+ --hash=sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714 \
+ --hash=sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2 \
+ --hash=sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc \
+ --hash=sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce \
+ --hash=sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d \
+ --hash=sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e \
+ --hash=sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 \
+ --hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \
+ --hash=sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96 \
+ --hash=sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d \
+ --hash=sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a \
+ --hash=sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4 \
+ --hash=sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77 \
+ --hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \
+ --hash=sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0 \
+ --hash=sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed \
+ --hash=sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068 \
+ --hash=sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac \
+ --hash=sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25 \
+ --hash=sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8 \
+ --hash=sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab \
+ --hash=sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26 \
+ --hash=sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2 \
+ --hash=sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db \
+ --hash=sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f \
+ --hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \
+ --hash=sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99 \
+ --hash=sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c \
+ --hash=sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d \
+ --hash=sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811 \
+ --hash=sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa \
+ --hash=sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a \
+ --hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \
+ --hash=sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b \
+ --hash=sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04 \
+ --hash=sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c \
+ --hash=sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001 \
+ --hash=sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458 \
+ --hash=sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389 \
+ --hash=sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99 \
+ --hash=sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985 \
+ --hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \
+ --hash=sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238 \
+ --hash=sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f \
+ --hash=sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d \
+ --hash=sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796 \
+ --hash=sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a \
+ --hash=sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143 \
+ --hash=sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8 \
+ --hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \
+ --hash=sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5 \
+ --hash=sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5 \
+ --hash=sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711 \
+ --hash=sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4 \
+ --hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \
+ --hash=sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c \
+ --hash=sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7 \
+ --hash=sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4 \
+ --hash=sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b \
+ --hash=sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae \
+ --hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \
+ --hash=sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c \
+ --hash=sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae \
+ --hash=sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8 \
+ --hash=sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887 \
+ --hash=sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b \
+ --hash=sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4 \
+ --hash=sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f \
+ --hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \
+ --hash=sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33 \
+ --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \
+ --hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561
# via requests
-coreapi==2.3.3
-coreschema==0.0.4
+coreapi==2.3.3 \
+ --hash=sha256:46145fcc1f7017c076a2ef684969b641d18a2991051fddec9458ad3f78ffc1cb \
+ --hash=sha256:bf39d118d6d3e171f10df9ede5666f63ad80bba9a29a8ec17726a66cf52ee6f3
+coreschema==0.0.4 \
+ --hash=sha256:5e6ef7bf38c1525d5e55a895934ab4273548629f16aed5c0a6caa74ebf45551f \
+ --hash=sha256:9503506007d482ab0867ba14724b93c18a33b22b6d19fb419ef2d239dd4a1607
# via coreapi
-cryptography==42.0.5
+cryptography==42.0.5 \
+ --hash=sha256:0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee \
+ --hash=sha256:111a0d8553afcf8eb02a4fea6ca4f59d48ddb34497aa8706a6cf536f1a5ec576 \
+ --hash=sha256:16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d \
+ --hash=sha256:1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30 \
+ --hash=sha256:1f71c10d1e88467126f0efd484bd44bca5e14c664ec2ede64c32f20875c0d413 \
+ --hash=sha256:2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb \
+ --hash=sha256:2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da \
+ --hash=sha256:329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4 \
+ --hash=sha256:37dd623507659e08be98eec89323469e8c7b4c1407c85112634ae3dbdb926fdd \
+ --hash=sha256:3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc \
+ --hash=sha256:5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8 \
+ --hash=sha256:6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1 \
+ --hash=sha256:7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc \
+ --hash=sha256:7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e \
+ --hash=sha256:9481ffe3cf013b71b2428b905c4f7a9a4f76ec03065b05ff499bb5682a8d9ad8 \
+ --hash=sha256:98d8dc6d012b82287f2c3d26ce1d2dd130ec200c8679b6213b3c73c08b2b7940 \
+ --hash=sha256:a011a644f6d7d03736214d38832e030d8268bcff4a41f728e6030325fea3e400 \
+ --hash=sha256:a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7 \
+ --hash=sha256:a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16 \
+ --hash=sha256:b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278 \
+ --hash=sha256:b6cd2203306b63e41acdf39aa93b86fb566049aeb6dc489b70e34bcd07adca74 \
+ --hash=sha256:b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec \
+ --hash=sha256:b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1 \
+ --hash=sha256:ba334e6e4b1d92442b75ddacc615c5476d4ad55cc29b15d590cc6b86efa487e2 \
+ --hash=sha256:ba3e4a42397c25b7ff88cdec6e2a16c2be18720f317506ee25210f6d31925f9c \
+ --hash=sha256:c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922 \
+ --hash=sha256:cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a \
+ --hash=sha256:cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6 \
+ --hash=sha256:e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1 \
+ --hash=sha256:e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e \
+ --hash=sha256:f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac \
+ --hash=sha256:f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7
# via
# djangorestframework-simplejwt
# pyjwt
-cssselect2==0.7.0
+cssselect2==0.7.0 \
+ --hash=sha256:1ccd984dab89fc68955043aca4e1b03e0cf29cad9880f6e28e3ba7a74b14aa5a \
+ --hash=sha256:fd23a65bfd444595913f02fc71f6b286c29261e354c41d722ca7a261a49b5969
# via weasyprint
-defusedxml==0.7.1
+defusedxml==0.7.1 \
+ --hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 \
+ --hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61
# via
# odfpy
# python3-openid
-deprecated==1.2.14
+deprecated==1.2.14 \
+ --hash=sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c \
+ --hash=sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3
# via
# opentelemetry-api
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
-diff-match-patch==20230430
+diff-match-patch==20230430 \
+ --hash=sha256:953019cdb9c9d2c9e47b5b12bcff3cf4746fc4598eb406076fa1fc27e6a1f15c \
+ --hash=sha256:dce43505fb7b1b317de7195579388df0746d90db07015ed47a85e5e44930ef93
# via django-import-export
-dj-rest-auth==5.1.0
-django==4.2.11
+dj-rest-auth==5.1.0 \
+ --hash=sha256:2337a17fc9ce35eb294c7dbd9a4c12c7e7e6d448eb827fc67415589204c39d35
+django==4.2.11 \
+ --hash=sha256:6e6ff3db2d8dd0c986b4eec8554c8e4f919b5c1ff62a5b4390c17aff2ed6e5c4 \
+ --hash=sha256:ddc24a0a8280a0430baa37aff11f28574720af05888c62b7cfe71d219f4599d3
# via
# dj-rest-auth
# django-allauth
@@ -79,96 +363,421 @@ django==4.2.11
# djangorestframework
# djangorestframework-simplejwt
# drf-spectacular
-django-allauth==0.61.1
+django-allauth==0.61.1 \
+ --hash=sha256:5b4ae515ea74f54f0041210692eee10c309ad15ddbbd03d3620693c75e3f7945
# via django-allauth-2fa
-django-allauth-2fa==0.11.1
-django-cleanup==8.1.0
-django-cors-headers==4.3.1
-django-crispy-forms==1.14.0
-django-dbbackup==4.1.0
-django-error-report-2==0.4.2
-django-filter==24.2
-django-flags==5.0.13
-django-formtools==2.5.1
-django-ical==1.9.2
-django-import-export==3.3.7
-django-js-asset==2.2.0
+django-allauth-2fa==0.11.1 \
+ --hash=sha256:02ffdf1025836f072c2f6ec0964494589cf1d52362f663f9ff6d9ca61a7b6962 \
+ --hash=sha256:2f2d61dd488f66ad45e59780b061f5abe96caea9c3466e3ee4ea50ea1faebef6
+django-cleanup==8.1.0 \
+ --hash=sha256:70df905076a44e7a111b31198199af633dee08876e199e6dce36ca8dd6b8b10f \
+ --hash=sha256:7903873ea73b3f7e61e055340d27dba49b70634f60c87a573ad748e172836458
+django-cors-headers==4.3.1 \
+ --hash=sha256:0b1fd19297e37417fc9f835d39e45c8c642938ddba1acce0c1753d3edef04f36 \
+ --hash=sha256:0bf65ef45e606aff1994d35503e6b677c0b26cafff6506f8fd7187f3be840207
+django-crispy-forms==1.14.0 \
+ --hash=sha256:35887b8851a931374dd697207a8f56c57a9c5cb9dbf0b9fa54314da5666cea5b \
+ --hash=sha256:bc4d2037f6de602d39c0bc452ac3029d1f5d65e88458872cc4dbc01c3a400604
+django-dbbackup==4.1.0 \
+ --hash=sha256:c411d38d0f8e60ab3254017278c14ebd75d4001b5634fc73be7fbe8a5260583b \
+ --hash=sha256:c539b5246b429a22a8efadbab3719ee6b8eda45c66c4ff6592056c590d51c782
+django-error-report-2==0.4.2 \
+ --hash=sha256:1dd99c497af09b7ea99f5fbaf910501838150a9d5390796ea00e187bc62f6c1b \
+ --hash=sha256:603e1e3b24d01bbfeab6379af948893b2b034031c80fa8b45cf1c4735341c04b
+django-filter==24.2 \
+ --hash=sha256:48e5fc1da3ccd6ca0d5f9bb550973518ce977a4edde9d2a8a154a7f4f0b9f96e \
+ --hash=sha256:df2ee9857e18d38bed203c8745f62a803fa0f31688c9fe6f8e868120b1848e48
+django-flags==5.0.13 \
+ --hash=sha256:52df74b86d93f5cb402190ad26b68a5ba0f127e9e016189f1a6f2e8ba3c06a42 \
+ --hash=sha256:ff6940cf37e07d6d0c4ac28c5420c8cfc478b62541473dba4aa02d600f7db9fc
+django-formtools==2.5.1 \
+ --hash=sha256:47cb34552c6efca088863d693284d04fc36eaaf350eb21e1a1d935e0df523c93 \
+ --hash=sha256:bce9b64eda52cc1eef6961cc649cf75aacd1a707c2fff08d6c3efcbc8e7e761a
+django-ical==1.9.2 \
+ --hash=sha256:44c9b6fa90d09f25e9ebaa91ed9eb007f079afbc23d6aac909cfc18188a8e90c \
+ --hash=sha256:74a16bca05735f91a00120cad7250f3c3aa292a9f698a6cfdc544a922c11de70
+django-import-export==3.3.7 \
+ --hash=sha256:39a4216c26a2dba6429b64c68b3fe282a6279bb71afb4015c13df0696bdbb4cd \
+ --hash=sha256:dffedd53bed33cfcceb3b2f13d4fd93a21826f9a2ae37b9926a1e1f4be24bcb9
+django-js-asset==2.2.0 \
+ --hash=sha256:0c57a82cae2317e83951d956110ce847f58ff0cdc24e314dbc18b35033917e94 \
+ --hash=sha256:7ef3e858e13d06f10799b56eea62b1e76706f42cf4e709be4e13356bc0ae30d8
# via django-mptt
-django-maintenance-mode==0.21.1
-django-markdownify==0.9.3
-django-money==3.2.0
-django-mptt==0.16.0
-django-otp==1.3.0
+django-maintenance-mode==0.21.1 \
+ --hash=sha256:b79afddb671c59972ae542e4fafbc99117d2d37991843eaaa837e328eed12b1b \
+ --hash=sha256:c02fff0e386b7f8b2ab54479d3a0d336ae34014da22a7a2365ca96d5a2c1db94
+django-markdownify==0.9.3 \
+ --hash=sha256:acf42614a418aef55535a66d4b3426b181cf8c8f990e265f453df900c3ad3d25 \
+ --hash=sha256:df00291bc338400b9ef999402751fc12c30623d266b7c04e43336d27d0eadee6
+django-money==3.2.0 \
+ --hash=sha256:2e4174b47993780bf4b61ad3fa0a66ebe140da42fdbe68b628c7ba9788287214 \
+ --hash=sha256:3099f906407175af06b56ef3ff5c250e2fc525ff00f50d42f77b98597e625459
+django-mptt==0.16.0 \
+ --hash=sha256:56c9606bf0b329b5f5afd55dd8bfd073612ea1d5999b10903b09de62bee84c8e \
+ --hash=sha256:8716849ba3318d94e2e100ed0923a05c1ffdf8195f8472b690dbaf737d2af3b5
+django-otp==1.3.0 \
+ --hash=sha256:5277731bc05b6cdbf96aa84ac46018e30ed5fb248086053b0146f925de059060 \
+ --hash=sha256:8f4156a3c14ce2aaa31379385eadf388925cd50fc4b5d20a3b944f454c98ff7c
# via django-allauth-2fa
-django-picklefield==3.2
+django-picklefield==3.2 \
+ --hash=sha256:aa463f5d79d497dbe789f14b45180f00a51d0d670067d0729f352a3941cdfa4d \
+ --hash=sha256:e9a73539d110f69825d9320db18bcb82e5189ff48dbed41821c026a20497764c
# via django-q2
-django-q-sentry==0.1.6
-django-q2==1.6.2
-django-recurrence==1.11.1
+django-q-sentry==0.1.6 \
+ --hash=sha256:9b8b4d7fad253a7d9a47f2c2ab0d9dea83078b7ef45c8849dbb1e4176ef8d050
+django-q2==1.6.2 \
+ --hash=sha256:c2d75552c80b83ca0d8c0b0db7db4f17e9f43ee131a46d0ddd514c5f5fc603cb \
+ --hash=sha256:cd83c16b5791cd99f83a8d106d2447305d73c6c8ed8ec22c7cb954fe0e814284
+django-recurrence==1.11.1 \
+ --hash=sha256:0c65f30872599b5813a9bab6952dada23c55894f28674490a753ada559f14bc5 \
+ --hash=sha256:9c89444e651a78c587f352c5f63eda48ab2f53996347b9fcdff2d248f4fcff70
# via django-ical
-django-redis==5.4.0
-django-sesame==3.2.2
-django-sql-utils==0.7.0
-django-sslserver==0.22
-django-stdimage==6.0.2
-django-taggit==5.0.1
-django-user-sessions==2.0.0
-django-weasyprint==2.3.0
-django-xforwardedfor-middleware==2.0
-djangorestframework==3.14.0
+django-redis==5.4.0 \
+ --hash=sha256:6a02abaa34b0fea8bf9b707d2c363ab6adc7409950b2db93602e6cb292818c42 \
+ --hash=sha256:ebc88df7da810732e2af9987f7f426c96204bf89319df4c6da6ca9a2942edd5b
+django-sesame==3.2.2 \
+ --hash=sha256:523ebd4d04e28c897c262f25b78b6fd8f37e11cdca6e277fdc8bf496bd686cf5 \
+ --hash=sha256:5d753a309166356b6a0d7fc047690943b9e80b4aa7952f1a6400fe6ce60d573c
+django-sql-utils==0.7.0 \
+ --hash=sha256:9371ff28eaf326836a7c52887259123cdd3fbffb7b738e42ae1a21258be0feb6 \
+ --hash=sha256:fefc40c826896b60fcf33e35b6e30b523fc958955a16006438cd3ba6d795a532
+django-sslserver==0.22 \
+ --hash=sha256:c598a363d2ccdc2421c08ddb3d8b0973f80e8e47a3a5b74e4a2896f21c2947c5
+django-stdimage==6.0.2 \
+ --hash=sha256:880ab14828be56b53f711c3afae83c219ddd5d9af00850626736feb48382bf7f \
+ --hash=sha256:9a73f7da48c48074580e2b032d5bdb7164935dbe4b9dc4fb88a7e112f3d521c8
+django-taggit==5.0.1 \
+ --hash=sha256:a0ca8a28b03c4b26c2630fd762cb76ec39b5e41abf727a7b66f897a625c5e647 \
+ --hash=sha256:edcd7db1e0f35c304e082a2f631ddac2e16ef5296029524eb792af7430cab4cc
+django-user-sessions==2.0.0 \
+ --hash=sha256:0965554279f556b47062965609fa08b3ae45bbc581001dbe84b2ea599cc67748 \
+ --hash=sha256:41b8b1ebeb4736065efbc96437c9cfbf491c39e10fd547a76b98f2312e11fa3e
+django-weasyprint==2.3.0 \
+ --hash=sha256:2f849e15bfd6c1b2a58512097b9042eddf3533651d37d2e096cd6f7d8be6442b \
+ --hash=sha256:807cb3b16332123d97c8bbe2ac9c70286103fe353235351803ffd33b67284735
+django-xforwardedfor-middleware==2.0 \
+ --hash=sha256:16fd1cb27f33a5541b6f3e0b43afb1b7334a76f27a1255b69e14ec5c440f0b24
+djangorestframework==3.14.0 \
+ --hash=sha256:579a333e6256b09489cbe0a067e66abe55c6595d8926be6b99423786334350c8 \
+ --hash=sha256:eb63f58c9f218e1a7d064d17a70751f528ed4e1d35547fdade9aaf4cd103fd08
# via
# dj-rest-auth
# djangorestframework-simplejwt
# drf-spectacular
-djangorestframework-simplejwt[crypto]==5.3.1
-drf-spectacular==0.27.2
-dulwich==0.21.7
-et-xmlfile==1.1.0
+djangorestframework-simplejwt[crypto]==5.3.1 \
+ --hash=sha256:381bc966aa46913905629d472cd72ad45faa265509764e20ffd440164c88d220 \
+ --hash=sha256:6c4bd37537440bc439564ebf7d6085e74c5411485197073f508ebdfa34bc9fae
+drf-spectacular==0.27.2 \
+ --hash=sha256:a199492f2163c4101055075ebdbb037d59c6e0030692fc83a1a8c0fc65929981 \
+ --hash=sha256:b1c04bf8b2fbbeaf6f59414b4ea448c8787aba4d32f76055c3b13335cf7ec37b
+dulwich==0.21.7 \
+ --hash=sha256:0fc3078a1ba04c588fabb0969d3530efd5cd1ce2cf248eefb6baf7cbc15fc285 \
+ --hash=sha256:10893105c6566fc95bc2a67b61df7cc1e8f9126d02a1df6a8b2b82eb59db8ab9 \
+ --hash=sha256:12d61334a575474e707614f2e93d6ed4cdae9eb47214f9277076d9e5615171d3 \
+ --hash=sha256:2590e9b431efa94fc356ae33b38f5e64f1834ec3a94a6ac3a64283b206d07aa3 \
+ --hash=sha256:25c3ab8fb2e201ad2031ddd32e4c68b7c03cb34b24a5ff477b7a7dcef86372f5 \
+ --hash=sha256:274c18ec3599a92a9b67abaf110e4f181a4f779ee1aaab9e23a72e89d71b2bd9 \
+ --hash=sha256:29bb5c1d70eba155ded41ed8a62be2f72edbb3c77b08f65b89c03976292f6d1b \
+ --hash=sha256:2bc12697f0918bee324c18836053644035362bb3983dc1b210318f2fed1d7132 \
+ --hash=sha256:2e2c66888207b71cd1daa2acb06d3984a6bc13787b837397a64117aa9fc5936a \
+ --hash=sha256:404b8edeb3c3a86c47c0a498699fc064c93fa1f8bab2ffe919e8ab03eafaaad3 \
+ --hash=sha256:40dcbd29ba30ba2c5bfbab07a61a5f20095541d5ac66d813056c122244df4ac0 \
+ --hash=sha256:460b3849d5c3d3818a80743b4f7a0094c893c559f678e56a02fff570b49a644a \
+ --hash=sha256:460ba74bdb19f8d498786ae7776745875059b1178066208c0fd509792d7f7bfc \
+ --hash=sha256:4637cbd8ed1012f67e1068aaed19fcc8b649bcf3e9e26649826a303298c89b9d \
+ --hash=sha256:471305af74790827fcbafe330fc2e8bdcee4fb56ca1177c8c481b1c8f806c4a4 \
+ --hash=sha256:4a043b90958cec866b4edc6aef5fe3c2c96a664d0b357e1682a46f6c477273c4 \
+ --hash=sha256:4b09bc3a64fb70132ec14326ecbe6e0555381108caff3496898962c4136a48c6 \
+ --hash=sha256:4bc4c5366eaf26dda3fdffe160a3b515666ed27c2419f1d483da285ac1411de0 \
+ --hash=sha256:4c51058ec4c0b45dc5189225b9e0c671b96ca9713c1daf71d622c13b0ab07681 \
+ --hash=sha256:4f18f0a311fb7734b033a3101292b932158cade54b74d1c44db519e42825e5a2 \
+ --hash=sha256:61e3451bd3d3844f2dca53f131982553be4d1b1e1ebd9db701843dd76c4dba31 \
+ --hash=sha256:62bfb26bdce869cd40be443dfd93143caea7089b165d2dcc33de40f6ac9d812a \
+ --hash=sha256:675a612ce913081beb0f37b286891e795d905691dfccfb9bf73721dca6757cde \
+ --hash=sha256:6bd69921fdd813b7469a3c77bc75c1783cc1d8d72ab15a406598e5a3ba1a1503 \
+ --hash=sha256:6c589468e5c0cd84e97eb7ec209ab005a2cb69399e8c5861c3edfe38989ac3a8 \
+ --hash=sha256:6de6f8de4a453fdbae8062a6faa652255d22a3d8bce0cd6d2d6701305c75f2b3 \
+ --hash=sha256:739b191f61e1c4ce18ac7d520e7a7cbda00e182c3489552408237200ce8411ad \
+ --hash=sha256:74700e4c7d532877355743336c36f51b414d01e92ba7d304c4f8d9a5946dbc81 \
+ --hash=sha256:7836da3f4110ce684dcd53489015fb7fa94ed33c5276e3318b8b1cbcb5b71e08 \
+ --hash=sha256:7bca4b86e96d6ef18c5bc39828ea349efb5be2f9b1f6ac9863f90589bac1084d \
+ --hash=sha256:7d8ab29c660125db52106775caa1f8f7f77a69ed1fe8bc4b42bdf115731a25bf \
+ --hash=sha256:808e8b9cc0aa9ac74870b49db4f9f39a52fb61694573f84b9c0613c928d4caf8 \
+ --hash=sha256:817822f970e196e757ae01281ecbf21369383285b9f4a83496312204cf889b8c \
+ --hash=sha256:8278835e168dd097089f9e53088c7a69c6ca0841aef580d9603eafe9aea8c358 \
+ --hash=sha256:858842b30ad6486aacaa607d60bab9c9a29e7c59dc2d9cb77ae5a94053878c08 \
+ --hash=sha256:869eb7be48243e695673b07905d18b73d1054a85e1f6e298fe63ba2843bb2ca1 \
+ --hash=sha256:8869fc8ec3dda743e03d06d698ad489b3705775fe62825e00fa95aa158097fc0 \
+ --hash=sha256:8929c37986c83deb4eb500c766ee28b6670285b512402647ee02a857320e377c \
+ --hash=sha256:a0650ec77d89cb947e3e4bbd4841c96f74e52b4650830112c3057a8ca891dc2f \
+ --hash=sha256:a7b5624b02ef808cdc62dabd47eb10cd4ac15e8ac6df9e2e88b6ac6b40133673 \
+ --hash=sha256:a9e9c66833cea580c3ac12927e4b9711985d76afca98da971405d414de60e968 \
+ --hash=sha256:b0d2e4485b98695bf95350ce9d38b1bb0aaac2c34ad00a0df789aa33c934469b \
+ --hash=sha256:c01a735b9a171dcb634a97a3cec1b174cfbfa8e840156870384b633da0460f18 \
+ --hash=sha256:c3a539b4696a42fbdb7412cb7b66a4d4d332761299d3613d90a642923c7560e1 \
+ --hash=sha256:c3d1685f320907a52c40fd5890627945c51f3a5fa4bcfe10edb24fec79caadec \
+ --hash=sha256:c92e72c43c9e9e936b01a57167e0ea77d3fd2d82416edf9489faa87278a1cdf7 \
+ --hash=sha256:cc1e11be527ac06316539b57a7688bcb1b6a3e53933bc2f844397bc50734e9ae \
+ --hash=sha256:ce8db196e79c1f381469410d26fb1d8b89c6b87a4e7f00ff418c22a35121405c \
+ --hash=sha256:d05d3c781bc74e2c2a2a8f4e4e2ed693540fbe88e6ac36df81deac574a6dad99 \
+ --hash=sha256:d097e963eb6b9fa53266146471531ad9c6765bf390849230311514546ed64db2 \
+ --hash=sha256:d4a2d76c96426e791556836ef43542b639def81be4f1d6d4322cd886c115eae1 \
+ --hash=sha256:d4c0110798099bb7d36a110090f2688050703065448895c4f53ade808d889dd3 \
+ --hash=sha256:d54c9d0e845be26f65f954dff13a1cd3f2b9739820c19064257b8fd7435ab263 \
+ --hash=sha256:d5882e70b74ac3c736a42d3fdd4f5f2e6570637f59ad5d3e684760290b58f041 \
+ --hash=sha256:d62446797163317a397a10080c6397ffaaca51a7804c0120b334f8165736c56a \
+ --hash=sha256:d96ca5e0dde49376fbcb44f10eddb6c30284a87bd03bb577c59bb0a1f63903fa \
+ --hash=sha256:e0064363bd5e814359657ae32517fa8001e8573d9d040bd997908d488ab886ed \
+ --hash=sha256:e138d516baa6b5bafbe8f030eccc544d0d486d6819b82387fc0e285e62ef5261 \
+ --hash=sha256:e1957b65f96e36c301e419d7adaadcff47647c30eb072468901bb683b1000bc5 \
+ --hash=sha256:e25953c7acbbe4e19650d0225af1c0c0e6882f8bddd2056f75c1cc2b109b88ad \
+ --hash=sha256:e274cebaf345f0b1e3b70197f2651de92b652386b68020cfd3bf61bc30f6eaaa \
+ --hash=sha256:e598d743c6c0548ebcd2baf94aa9c8bfacb787ea671eeeb5828cfbd7d56b552f \
+ --hash=sha256:e84cc606b1f581733df4350ca4070e6a8b30be3662bbb81a590b177d0c996c91 \
+ --hash=sha256:ecd315847dea406a4decfa39d388a2521e4e31acde3bd9c2609c989e817c6d62 \
+ --hash=sha256:ed60d1f610ef6437586f7768254c2a93820ccbd4cfdac7d182cf2d6e615969bb \
+ --hash=sha256:f34bf9b9fa9308376263fd9ac43143c7c09da9bc75037bb75c6c2423a151b92c \
+ --hash=sha256:f6c88acb60a1f4d31bd6d13bfba465853b3df940ee4a0f2a3d6c7a0778c705b7 \
+ --hash=sha256:fa4d14767cf7a49c9231c2e52cb2a3e90d0c83f843eb6a2ca2b5d81d254cf6b9 \
+ --hash=sha256:ffc27fb063f740712e02b4d2f826aee8bbed737ed799962fef625e2ce56e2d29
+et-xmlfile==1.1.0 \
+ --hash=sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c \
+ --hash=sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada
# via openpyxl
-feedparser==6.0.11
-fonttools[woff]==4.51.0
+feedparser==6.0.11 \
+ --hash=sha256:0be7ee7b395572b19ebeb1d6aafb0028dee11169f1c934e0ed67d54992f4ad45 \
+ --hash=sha256:c9d0407b64c6f2a065d0ebb292c2b35c01050cc0dc33757461aaabdc4c4184d5
+fonttools[woff]==4.51.0 \
+ --hash=sha256:0118ef998a0699a96c7b28457f15546815015a2710a1b23a7bf6c1be60c01636 \
+ --hash=sha256:0d145976194a5242fdd22df18a1b451481a88071feadf251221af110ca8f00ce \
+ --hash=sha256:0e19bd9e9964a09cd2433a4b100ca7f34e34731e0758e13ba9a1ed6e5468cc0f \
+ --hash=sha256:0f08c901d3866a8905363619e3741c33f0a83a680d92a9f0e575985c2634fcc1 \
+ --hash=sha256:1250e818b5f8a679ad79660855528120a8f0288f8f30ec88b83db51515411fcc \
+ --hash=sha256:15c94eeef6b095831067f72c825eb0e2d48bb4cea0647c1b05c981ecba2bf39f \
+ --hash=sha256:1621ee57da887c17312acc4b0e7ac30d3a4fb0fec6174b2e3754a74c26bbed1e \
+ --hash=sha256:180194c7fe60c989bb627d7ed5011f2bef1c4d36ecf3ec64daec8302f1ae0716 \
+ --hash=sha256:278e50f6b003c6aed19bae2242b364e575bcb16304b53f2b64f6551b9c000e15 \
+ --hash=sha256:32b17504696f605e9e960647c5f64b35704782a502cc26a37b800b4d69ff3c77 \
+ --hash=sha256:3bee3f3bd9fa1d5ee616ccfd13b27ca605c2b4270e45715bd2883e9504735034 \
+ --hash=sha256:4060acc2bfa2d8e98117828a238889f13b6f69d59f4f2d5857eece5277b829ba \
+ --hash=sha256:54dcf21a2f2d06ded676e3c3f9f74b2bafded3a8ff12f0983160b13e9f2fb4a7 \
+ --hash=sha256:56fc244f2585d6c00b9bcc59e6593e646cf095a96fe68d62cd4da53dd1287b55 \
+ --hash=sha256:599bdb75e220241cedc6faebfafedd7670335d2e29620d207dd0378a4e9ccc5a \
+ --hash=sha256:5f6bc991d1610f5c3bbe997b0233cbc234b8e82fa99fc0b2932dc1ca5e5afec0 \
+ --hash=sha256:60a3409c9112aec02d5fb546f557bca6efa773dcb32ac147c6baf5f742e6258b \
+ --hash=sha256:68b3fb7775a923be73e739f92f7e8a72725fd333eab24834041365d2278c3671 \
+ --hash=sha256:76f1777d8b3386479ffb4a282e74318e730014d86ce60f016908d9801af9ca2a \
+ --hash=sha256:806e7912c32a657fa39d2d6eb1d3012d35f841387c8fc6cf349ed70b7c340039 \
+ --hash=sha256:84d7751f4468dd8cdd03ddada18b8b0857a5beec80bce9f435742abc9a851a74 \
+ --hash=sha256:865a58b6e60b0938874af0968cd0553bcd88e0b2cb6e588727117bd099eef836 \
+ --hash=sha256:8ac27f436e8af7779f0bb4d5425aa3535270494d3bc5459ed27de3f03151e4c2 \
+ --hash=sha256:8b4850fa2ef2cfbc1d1f689bc159ef0f45d8d83298c1425838095bf53ef46308 \
+ --hash=sha256:8b5ad456813d93b9c4b7ee55302208db2b45324315129d85275c01f5cb7e61a2 \
+ --hash=sha256:8e2f1a4499e3b5ee82c19b5ee57f0294673125c65b0a1ff3764ea1f9db2f9ef5 \
+ --hash=sha256:9696fe9f3f0c32e9a321d5268208a7cc9205a52f99b89479d1b035ed54c923f1 \
+ --hash=sha256:96a48e137c36be55e68845fc4284533bda2980f8d6f835e26bca79d7e2006438 \
+ --hash=sha256:a8feca65bab31479d795b0d16c9a9852902e3a3c0630678efb0b2b7941ea9c74 \
+ --hash=sha256:aefa011207ed36cd280babfaa8510b8176f1a77261833e895a9d96e57e44802f \
+ --hash=sha256:b2b92381f37b39ba2fc98c3a45a9d6383bfc9916a87d66ccb6553f7bdd129097 \
+ --hash=sha256:b3c61423f22165541b9403ee39874dcae84cd57a9078b82e1dce8cb06b07fa2e \
+ --hash=sha256:b5b48a1121117047d82695d276c2af2ee3a24ffe0f502ed581acc2673ecf1037 \
+ --hash=sha256:c18b49adc721a7d0b8dfe7c3130c89b8704baf599fb396396d07d4aa69b824a1 \
+ --hash=sha256:c5b8cab0c137ca229433570151b5c1fc6af212680b58b15abd797dcdd9dd5051 \
+ --hash=sha256:c7e91abdfae1b5c9e3a543f48ce96013f9a08c6c9668f1e6be0beabf0a569c1b \
+ --hash=sha256:cadf4e12a608ef1d13e039864f484c8a968840afa0258b0b843a0556497ea9ed \
+ --hash=sha256:dc0673361331566d7a663d7ce0f6fdcbfbdc1f59c6e3ed1165ad7202ca183c68 \
+ --hash=sha256:de7c29bdbdd35811f14493ffd2534b88f0ce1b9065316433b22d63ca1cd21f14 \
+ --hash=sha256:e9d9298be7a05bb4801f558522adbe2feea1b0b103d5294ebf24a92dd49b78e5 \
+ --hash=sha256:ee1af4be1c5afe4c96ca23badd368d8dc75f611887fb0c0dac9f71ee5d6f110e \
+ --hash=sha256:f7e89853d8bea103c8e3514b9f9dc86b5b4120afb4583b57eb10dfa5afbe0936
# via weasyprint
-googleapis-common-protos==1.63.0
+googleapis-common-protos==1.63.0 \
+ --hash=sha256:17ad01b11d5f1d0171c06d3ba5c04c54474e883b66b949722b4938ee2694ef4e \
+ --hash=sha256:ae45f75702f7c08b541f750854a678bd8f534a1a6bace6afe975f1d0a82d6632
# via
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
-grpcio==1.62.1
+grpcio==1.62.1 \
+ --hash=sha256:12859468e8918d3bd243d213cd6fd6ab07208195dc140763c00dfe901ce1e1b4 \
+ --hash=sha256:1714e7bc935780bc3de1b3fcbc7674209adf5208ff825799d579ffd6cd0bd505 \
+ --hash=sha256:179bee6f5ed7b5f618844f760b6acf7e910988de77a4f75b95bbfaa8106f3c1e \
+ --hash=sha256:1f1e7b36bdff50103af95a80923bf1853f6823dd62f2d2a2524b66ed74103e49 \
+ --hash=sha256:1faa02530b6c7426404372515fe5ddf66e199c2ee613f88f025c6f3bd816450c \
+ --hash=sha256:22bccdd7b23c420a27fd28540fb5dcbc97dc6be105f7698cb0e7d7a420d0e362 \
+ --hash=sha256:23e2e04b83f347d0aadde0c9b616f4726c3d76db04b438fd3904b289a725267f \
+ --hash=sha256:3227c667dccbe38f2c4d943238b887bac588d97c104815aecc62d2fd976e014b \
+ --hash=sha256:359f821d4578f80f41909b9ee9b76fb249a21035a061a327f91c953493782c31 \
+ --hash=sha256:3952b581eb121324853ce2b191dae08badb75cd493cb4e0243368aa9e61cfd41 \
+ --hash=sha256:407b26b7f7bbd4f4751dbc9767a1f0716f9fe72d3d7e96bb3ccfc4aace07c8de \
+ --hash=sha256:4187201a53f8561c015bc745b81a1b2d278967b8de35f3399b84b0695e281d5f \
+ --hash=sha256:482ae2ae78679ba9ed5752099b32e5fe580443b4f798e1b71df412abf43375db \
+ --hash=sha256:48611e4fa010e823ba2de8fd3f77c1322dd60cb0d180dc6630a7e157b205f7ea \
+ --hash=sha256:48f7135c3de2f298b833be8b4ae20cafe37091634e91f61f5a7eb3d61ec6f660 \
+ --hash=sha256:4b49fd8fe9f9ac23b78437da94c54aa7e9996fbb220bac024a67469ce5d0825f \
+ --hash=sha256:58f6c693d446964e3292425e1d16e21a97a48ba9172f2d0df9d7b640acb99243 \
+ --hash=sha256:5bd90b8c395f39bc82a5fb32a0173e220e3f401ff697840f4003e15b96d1befc \
+ --hash=sha256:60dcd824df166ba266ee0cfaf35a31406cd16ef602b49f5d4dfb21f014b0dedd \
+ --hash=sha256:6696ffe440333a19d8d128e88d440f91fb92c75a80ce4b44d55800e656a3ef1d \
+ --hash=sha256:6c455e008fa86d9e9a9d85bb76da4277c0d7d9668a3bfa70dbe86e9f3c759947 \
+ --hash=sha256:71f11fd63365ade276c9d4a7b7df5c136f9030e3457107e1791b3737a9b9ed6a \
+ --hash=sha256:73db2dc1b201d20ab7083e7041946910bb991e7e9761a0394bbc3c2632326483 \
+ --hash=sha256:77c339403db5a20ef4fed02e4d1a9a3d9866bf9c0afc77a42234677313ea22f3 \
+ --hash=sha256:833379943d1728a005e44103f17ecd73d058d37d95783eb8f0b28ddc1f54d7b2 \
+ --hash=sha256:83a17b303425104d6329c10eb34bba186ffa67161e63fa6cdae7776ff76df73f \
+ --hash=sha256:83e7ccb85a74beaeae2634f10eb858a0ed1a63081172649ff4261f929bacfd22 \
+ --hash=sha256:844d1f3fb11bd1ed362d3fdc495d0770cfab75761836193af166fee113421d66 \
+ --hash=sha256:882020c87999d54667a284c7ddf065b359bd00251fcd70279ac486776dbf84ec \
+ --hash=sha256:8999bf1b57172dbc7c3e4bb3c732658e918f5c333b2942243f10d0d653953ba9 \
+ --hash=sha256:9084086190cc6d628f282e5615f987288b95457292e969b9205e45b442276407 \
+ --hash=sha256:960edebedc6b9ada1ef58e1c71156f28689978188cd8cff3b646b57288a927d9 \
+ --hash=sha256:973c49086cabab773525f6077f95e5a993bfc03ba8fc32e32f2c279497780585 \
+ --hash=sha256:978121758711916d34fe57c1f75b79cdfc73952f1481bb9583399331682d36f7 \
+ --hash=sha256:9bd5c8a1af40ec305d001c60236308a67e25419003e9bb3ebfab5695a8d0b369 \
+ --hash=sha256:a10383035e864f386fe096fed5c47d27a2bf7173c56a6e26cffaaa5a361addb1 \
+ --hash=sha256:a485f0c2010c696be269184bdb5ae72781344cb4e60db976c59d84dd6354fac9 \
+ --hash=sha256:a7f615270fe534548112a74e790cd9d4f5509d744dd718cd442bf016626c22e4 \
+ --hash=sha256:b134d5d71b4e0837fff574c00e49176051a1c532d26c052a1e43231f252d813b \
+ --hash=sha256:b2a0e71b0a2158aa4bce48be9f8f9eb45cbd17c78c7443616d00abbe2a509f6d \
+ --hash=sha256:b50b09b4dc01767163d67e1532f948264167cd27f49e9377e3556c3cba1268e1 \
+ --hash=sha256:b5a4ea906db7dec694098435d84bf2854fe158eb3cd51e1107e571246d4d1d70 \
+ --hash=sha256:b7209117bbeebdfa5d898205cc55153a51285757902dd73c47de498ad4d11332 \
+ --hash=sha256:bba97b8e8883a8038606480d6b6772289f4c907f6ba780fa1f7b7da7dfd76f06 \
+ --hash=sha256:be0477cb31da67846a33b1a75c611f88bfbcd427fe17701b6317aefceee1b96f \
+ --hash=sha256:c7fcc6a32e7b7b58f5a7d27530669337a5d587d4066060bcb9dee7a8c833dfb7 \
+ --hash=sha256:c8842ccbd8c0e253c1f189088228f9b433f7a93b7196b9e5b6f87dba393f5d5d \
+ --hash=sha256:d1f6c96573dc09d50dbcbd91dbf71d5cf97640c9427c32584010fbbd4c0e0037 \
+ --hash=sha256:d9e52558b8b8c2f4ac05ac86344a7417ccdd2b460a59616de49eb6933b07a0bd \
+ --hash=sha256:e3393b0823f938253370ebef033c9fd23d27f3eae8eb9a8f6264900c7ea3fb5a \
+ --hash=sha256:e6c8c8693df718c5ecbc7babb12c69a4e3677fd11de8886f05ab22d4e6b1c43b \
+ --hash=sha256:f8de7c8cef9261a2d0a62edf2ccea3d741a523c6b8a6477a340a1f2e417658de \
+ --hash=sha256:fa7d28eb4d50b7cbe75bb8b45ed0da9a1dc5b219a0af59449676a29c2eed9698 \
+ --hash=sha256:fbe80577c7880911d3ad65e5ecc997416c98f354efeba2f8d0f9112a67ed65a5
# via opentelemetry-exporter-otlp-proto-grpc
-gunicorn==21.2.0
-html5lib==1.1
+gunicorn==22.0.0 \
+ --hash=sha256:350679f91b24062c86e386e198a15438d53a7a8207235a78ba1b53df4c4378d9 \
+ --hash=sha256:4a0b436239ff76fb33f11c07a16482c521a7e09c1ce3cc293c2330afe01bec63
+html5lib==1.1 \
+ --hash=sha256:0d78f8fde1c230e99fe37986a60526d7049ed4bf8a9fadbad5f00e22e58e041d \
+ --hash=sha256:b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f
# via weasyprint
-icalendar==5.0.12
+icalendar==5.0.12 \
+ --hash=sha256:73f9be68477722c98320621400943705dcfdbbc6c2b565253f72d3f87e514db8 \
+ --hash=sha256:d873bb859df9c6d0e597b16d247436e0f83f7ac1b90a06429b8393fe8afeba40
# via django-ical
-idna==3.6
+idna==3.6 \
+ --hash=sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca \
+ --hash=sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f
# via requests
-importlib-metadata==7.0.0
+importlib-metadata==7.0.0 \
+ --hash=sha256:7fc841f8b8332803464e5dc1c63a2e59121f46ca186c0e2e182e80bf8c1319f7 \
+ --hash=sha256:d97503976bb81f40a193d41ee6570868479c69d5068651eb039c40d850c59d67
# via
# django-q2
# markdown
# opentelemetry-api
-inflection==0.5.1
+inflection==0.5.1 \
+ --hash=sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417 \
+ --hash=sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2
# via drf-spectacular
-itypes==1.2.0
+itypes==1.2.0 \
+ --hash=sha256:03da6872ca89d29aef62773672b2d408f490f80db48b23079a4b194c86dd04c6 \
+ --hash=sha256:af886f129dea4a2a1e3d36595a2d139589e4dd287f5cab0b40e799ee81570ff1
# via coreapi
-jinja2==3.1.3
+jinja2==3.1.3 \
+ --hash=sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa \
+ --hash=sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90
# via coreschema
-jsonschema==4.21.1
+jsonschema==4.21.1 \
+ --hash=sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f \
+ --hash=sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5
# via drf-spectacular
-jsonschema-specifications==2023.12.1
+jsonschema-specifications==2023.12.1 \
+ --hash=sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc \
+ --hash=sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c
# via jsonschema
-markdown==3.6
+markdown==3.6 \
+ --hash=sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f \
+ --hash=sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224
# via django-markdownify
-markuppy==1.14
+markuppy==1.14 \
+ --hash=sha256:1adee2c0a542af378fe84548ff6f6b0168f3cb7f426b46961038a2bcfaad0d5f
# via tablib
-markupsafe==2.1.5
+markupsafe==2.1.5 \
+ --hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \
+ --hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \
+ --hash=sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f \
+ --hash=sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3 \
+ --hash=sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532 \
+ --hash=sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f \
+ --hash=sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617 \
+ --hash=sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df \
+ --hash=sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4 \
+ --hash=sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906 \
+ --hash=sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f \
+ --hash=sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4 \
+ --hash=sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8 \
+ --hash=sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371 \
+ --hash=sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2 \
+ --hash=sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465 \
+ --hash=sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52 \
+ --hash=sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6 \
+ --hash=sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169 \
+ --hash=sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad \
+ --hash=sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2 \
+ --hash=sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0 \
+ --hash=sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029 \
+ --hash=sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f \
+ --hash=sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a \
+ --hash=sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced \
+ --hash=sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5 \
+ --hash=sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c \
+ --hash=sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf \
+ --hash=sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9 \
+ --hash=sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb \
+ --hash=sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad \
+ --hash=sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3 \
+ --hash=sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1 \
+ --hash=sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46 \
+ --hash=sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc \
+ --hash=sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a \
+ --hash=sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee \
+ --hash=sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900 \
+ --hash=sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5 \
+ --hash=sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea \
+ --hash=sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f \
+ --hash=sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5 \
+ --hash=sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e \
+ --hash=sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a \
+ --hash=sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f \
+ --hash=sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50 \
+ --hash=sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a \
+ --hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b \
+ --hash=sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4 \
+ --hash=sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff \
+ --hash=sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2 \
+ --hash=sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46 \
+ --hash=sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b \
+ --hash=sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf \
+ --hash=sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5 \
+ --hash=sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5 \
+ --hash=sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab \
+ --hash=sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd \
+ --hash=sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68
# via jinja2
-oauthlib==3.2.2
+oauthlib==3.2.2 \
+ --hash=sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca \
+ --hash=sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918
# via requests-oauthlib
-odfpy==1.4.1
+odfpy==1.4.1 \
+ --hash=sha256:db766a6e59c5103212f3cc92ec8dd50a0f3a02790233ed0b52148b70d3c438ec
# via tablib
-openpyxl==3.1.2
+openpyxl==3.1.2 \
+ --hash=sha256:a6f5977418eff3b2d5500d54d9db50c8277a368436f4e4f8ddb1be3422870184 \
+ --hash=sha256:f91456ead12ab3c6c2e9491cf33ba6d08357d802192379bb482f1033ade496f5
# via tablib
-opentelemetry-api==1.24.0
+opentelemetry-api==1.24.0 \
+ --hash=sha256:0f2c363d98d10d1ce93330015ca7fd3a65f60be64e05e30f557c61de52c80ca2 \
+ --hash=sha256:42719f10ce7b5a9a73b10a4baf620574fb8ad495a9cbe5c18d76b75d8689c67e
# via
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
@@ -178,181 +787,828 @@ opentelemetry-api==1.24.0
# opentelemetry-instrumentation-requests
# opentelemetry-instrumentation-wsgi
# opentelemetry-sdk
-opentelemetry-exporter-otlp==1.24.0
-opentelemetry-exporter-otlp-proto-common==1.24.0
+opentelemetry-exporter-otlp==1.24.0 \
+ --hash=sha256:1dfe2e4befe1f0efc193a896837740407669b2929233b406ac0a813151200cac \
+ --hash=sha256:649c6e249e55cbdebe99ba2846e3851c04c9f328570328c35b3af9c094314b55
+opentelemetry-exporter-otlp-proto-common==1.24.0 \
+ --hash=sha256:5d31fa1ff976cacc38be1ec4e3279a3f88435c75b38b1f7a099a1faffc302461 \
+ --hash=sha256:e51f2c9735054d598ad2df5d3eca830fecfb5b0bda0a2fa742c9c7718e12f641
# via
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
-opentelemetry-exporter-otlp-proto-grpc==1.24.0
+opentelemetry-exporter-otlp-proto-grpc==1.24.0 \
+ --hash=sha256:217c6e30634f2c9797999ea9da29f7300479a94a610139b9df17433f915e7baa \
+ --hash=sha256:f40d62aa30a0a43cc1657428e59fcf82ad5f7ea8fff75de0f9d9cb6f739e0a3b
# via opentelemetry-exporter-otlp
-opentelemetry-exporter-otlp-proto-http==1.24.0
+opentelemetry-exporter-otlp-proto-http==1.24.0 \
+ --hash=sha256:25af10e46fdf4cd3833175e42f4879a1255fc01655fe14c876183a2903949836 \
+ --hash=sha256:704c066cc96f5131881b75c0eac286cd73fc735c490b054838b4513254bd7850
# via opentelemetry-exporter-otlp
-opentelemetry-instrumentation==0.45b0
+opentelemetry-instrumentation==0.45b0 \
+ --hash=sha256:06c02e2c952c1b076e8eaedf1b82f715e2937ba7eeacab55913dd434fbcec258 \
+ --hash=sha256:6c47120a7970bbeb458e6a73686ee9ba84b106329a79e4a4a66761f933709c7e
# via
# opentelemetry-instrumentation-django
# opentelemetry-instrumentation-redis
# opentelemetry-instrumentation-requests
# opentelemetry-instrumentation-wsgi
-opentelemetry-instrumentation-django==0.45b0
-opentelemetry-instrumentation-redis==0.45b0
-opentelemetry-instrumentation-requests==0.45b0
-opentelemetry-instrumentation-wsgi==0.45b0
+opentelemetry-instrumentation-django==0.45b0 \
+ --hash=sha256:1e612c90eb4c69e1f0aa2e38dea89c47616596d3600392640fa7c0a201e299fa \
+ --hash=sha256:d8b55747d6784167ab3a50dc128cc13b6966a2215ce55f4043392ac1c83b5bb2
+opentelemetry-instrumentation-redis==0.45b0 \
+ --hash=sha256:44500fb0e767d219d3453af9804111f46d11127b603ff67d7eda9945f766d8ca \
+ --hash=sha256:a506772c5afe15b23cb6b7c1c5c67861111b71fce81c85a452f0bc66a319c648
+opentelemetry-instrumentation-requests==0.45b0 \
+ --hash=sha256:275851d04de518507b0411b98524602101b228b72e61f39dc627c0421ff2a81f \
+ --hash=sha256:6bf1359284105ab50fa7465ea6c60b4a62c699408cb0260af3ac8895e8a7451a
+opentelemetry-instrumentation-wsgi==0.45b0 \
+ --hash=sha256:7a6f9c71b25f5c5e112827540008882f6a9088447cb65745e7f2083749516663 \
+ --hash=sha256:f53a2a38e6582406e207d404e4c1b859b83bec11a68ad6c7366642d01c873ad0
# via opentelemetry-instrumentation-django
-opentelemetry-proto==1.24.0
+opentelemetry-proto==1.24.0 \
+ --hash=sha256:bcb80e1e78a003040db71ccf83f2ad2019273d1e0828089d183b18a1476527ce \
+ --hash=sha256:ff551b8ad63c6cabb1845ce217a6709358dfaba0f75ea1fa21a61ceddc78cab8
# via
# opentelemetry-exporter-otlp-proto-common
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
-opentelemetry-sdk==1.24.0
+opentelemetry-sdk==1.24.0 \
+ --hash=sha256:75bc0563affffa827700e0f4f4a68e1e257db0df13372344aebc6f8a64cde2e5 \
+ --hash=sha256:fa731e24efe832e98bcd90902085b359dcfef7d9c9c00eb5b9a18587dae3eb59
# via
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
-opentelemetry-semantic-conventions==0.45b0
+opentelemetry-semantic-conventions==0.45b0 \
+ --hash=sha256:7c84215a44ac846bc4b8e32d5e78935c5c43482e491812a0bb8aaf87e4d92118 \
+ --hash=sha256:a4a6fb9a7bacd9167c082aa4681009e9acdbfa28ffb2387af50c2fef3d30c864
# via
# opentelemetry-instrumentation-django
# opentelemetry-instrumentation-redis
# opentelemetry-instrumentation-requests
# opentelemetry-instrumentation-wsgi
# opentelemetry-sdk
-opentelemetry-util-http==0.45b0
+opentelemetry-util-http==0.45b0 \
+ --hash=sha256:4ce08b6a7d52dd7c96b7705b5b4f06fdb6aa3eac1233b3b0bfef8a0cab9a92cd \
+ --hash=sha256:6628868b501b3004e1860f976f410eeb3d3499e009719d818000f24ce17b6e33
# via
# opentelemetry-instrumentation-django
# opentelemetry-instrumentation-requests
# opentelemetry-instrumentation-wsgi
-packaging==24.0
+packaging==24.0 \
+ --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \
+ --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9
# via gunicorn
-pdf2image==1.17.0
-pillow==10.3.0
+pdf2image==1.17.0 \
+ --hash=sha256:eaa959bc116b420dd7ec415fcae49b98100dda3dd18cd2fdfa86d09f112f6d57 \
+ --hash=sha256:ecdd58d7afb810dffe21ef2b1bbc057ef434dabbac6c33778a38a3f7744a27e2
+pillow==10.3.0 \
+ --hash=sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c \
+ --hash=sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2 \
+ --hash=sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb \
+ --hash=sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d \
+ --hash=sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa \
+ --hash=sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3 \
+ --hash=sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1 \
+ --hash=sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a \
+ --hash=sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd \
+ --hash=sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8 \
+ --hash=sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999 \
+ --hash=sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599 \
+ --hash=sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936 \
+ --hash=sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375 \
+ --hash=sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d \
+ --hash=sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b \
+ --hash=sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60 \
+ --hash=sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572 \
+ --hash=sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3 \
+ --hash=sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced \
+ --hash=sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f \
+ --hash=sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b \
+ --hash=sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19 \
+ --hash=sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f \
+ --hash=sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d \
+ --hash=sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383 \
+ --hash=sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795 \
+ --hash=sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355 \
+ --hash=sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57 \
+ --hash=sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09 \
+ --hash=sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b \
+ --hash=sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462 \
+ --hash=sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf \
+ --hash=sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f \
+ --hash=sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a \
+ --hash=sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad \
+ --hash=sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9 \
+ --hash=sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d \
+ --hash=sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45 \
+ --hash=sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994 \
+ --hash=sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d \
+ --hash=sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338 \
+ --hash=sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463 \
+ --hash=sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451 \
+ --hash=sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591 \
+ --hash=sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c \
+ --hash=sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd \
+ --hash=sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32 \
+ --hash=sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9 \
+ --hash=sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf \
+ --hash=sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5 \
+ --hash=sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828 \
+ --hash=sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3 \
+ --hash=sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5 \
+ --hash=sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2 \
+ --hash=sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b \
+ --hash=sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2 \
+ --hash=sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475 \
+ --hash=sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3 \
+ --hash=sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb \
+ --hash=sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef \
+ --hash=sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015 \
+ --hash=sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002 \
+ --hash=sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170 \
+ --hash=sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84 \
+ --hash=sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57 \
+ --hash=sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f \
+ --hash=sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27 \
+ --hash=sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a
# via
# django-stdimage
# pdf2image
# python-barcode
# qrcode
# weasyprint
-pint==0.21
-pip-licenses==4.4.0
-prettytable==3.10.0
+pint==0.21 \
+ --hash=sha256:3e98bdf01f4dcf840cc0207c0b6f7510d4e0c6288efc1bf470626e875c831172 \
+ --hash=sha256:998b695e84a34d11702da4a8b9457a39bb5c7ab5ec68db90e948e30878e421f1
+pip-licenses==4.4.0 \
+ --hash=sha256:996817118375445243a34faafe23c06f6b2d250247c4046571b5a6722d45be69 \
+ --hash=sha256:dbad2ac5a25f574cabe2716f2f031a0c5fa359bed9b3ef615301f4e546893b46
+prettytable==3.10.0 \
+ --hash=sha256:6536efaf0757fdaa7d22e78b3aac3b69ea1b7200538c2c6995d649365bddab92 \
+ --hash=sha256:9665594d137fb08a1117518c25551e0ede1687197cf353a4fdc78d27e1073568
# via pip-licenses
-protobuf==4.25.3
+protobuf==4.25.3 \
+ --hash=sha256:19b270aeaa0099f16d3ca02628546b8baefe2955bbe23224aaf856134eccf1e4 \
+ --hash=sha256:209ba4cc916bab46f64e56b85b090607a676f66b473e6b762e6f1d9d591eb2e8 \
+ --hash=sha256:25b5d0b42fd000320bd7830b349e3b696435f3b329810427a6bcce6a5492cc5c \
+ --hash=sha256:7c8daa26095f82482307bc717364e7c13f4f1c99659be82890dcfc215194554d \
+ --hash=sha256:c053062984e61144385022e53678fbded7aea14ebb3e0305ae3592fb219ccfa4 \
+ --hash=sha256:d4198877797a83cbfe9bffa3803602bbe1625dc30d8a097365dbc762e5790faa \
+ --hash=sha256:e3c97a1555fd6388f857770ff8b9703083de6bf1f9274a002a332d65fbb56c8c \
+ --hash=sha256:e7cb0ae90dd83727f0c0718634ed56837bfeeee29a5f82a7514c03ee1364c019 \
+ --hash=sha256:f0700d54bcf45424477e46a9f0944155b46fb0639d69728739c0e47bab83f2b9 \
+ --hash=sha256:f1279ab38ecbfae7e456a108c5c0681e4956d5b1090027c1de0f934dfdb4b35c \
+ --hash=sha256:f4f118245c4a087776e0a8408be33cf09f6c547442c00395fbfb116fac2f8ac2
# via
# googleapis-common-protos
# opentelemetry-proto
-py-moneyed==3.0
+py-moneyed==3.0 \
+ --hash=sha256:4906f0f02cf2b91edba2e156f2d4e9a78f224059ab8c8fa2ff26230c75d894e8 \
+ --hash=sha256:9583a14f99c05b46196193d8185206e9b73c8439fc8a5eee9cfc7e733676d9bb
# via django-money
-pycparser==2.22
+pycparser==2.22 \
+ --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \
+ --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc
# via cffi
-pydyf==0.9.0
+pydyf==0.9.0 \
+ --hash=sha256:d5b244e8fc24119ce7bd5d51ea2d6773c0ff88aa81597db556bc440c6b880610 \
+ --hash=sha256:f0e447d9f69ca20cfa3ab3d17e274e26cc877bb6e36b4a83d196616a089db0dd
# via weasyprint
-pyjwt[crypto]==2.8.0
+pyjwt[crypto]==2.8.0 \
+ --hash=sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de \
+ --hash=sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320
# via
# django-allauth
# djangorestframework-simplejwt
-pyphen==0.14.0
+pyphen==0.14.0 \
+ --hash=sha256:414c9355958ca3c6a3ff233f65678c245b8ecb56418fb291e2b93499d61cd510 \
+ --hash=sha256:596c8b3be1c1a70411ba5f6517d9ccfe3083c758ae2b94a45f2707346d8e66fa
# via weasyprint
-pypng==0.20220715.0
+pypng==0.20220715.0 \
+ --hash=sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c \
+ --hash=sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1
# via qrcode
-python-barcode[images]==0.15.1
-python-dateutil==2.9.0.post0
+python-barcode[images]==0.15.1 \
+ --hash=sha256:057636fba37369c22852410c8535b36adfbeb965ddfd4e5b6924455d692e0886 \
+ --hash=sha256:3b1825fbdb11e597466dff4286b4ea9b1e86a57717b59e563ae679726fc854de
+python-dateutil==2.9.0.post0 \
+ --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
+ --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
# via
# django-recurrence
# icalendar
-python-dotenv==1.0.1
-python-fsutil==0.14.1
+python-dotenv==1.0.1 \
+ --hash=sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca \
+ --hash=sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a
+python-fsutil==0.14.1 \
+ --hash=sha256:0d45e623f0f4403f674bdd8ae7aa7d24a4b3132ea45c65416bd2865e6b20b035 \
+ --hash=sha256:8fb204fa8059f37bdeee8a1dc0fff010170202ea47c4225ee71bb3c26f3997be
# via django-maintenance-mode
-python3-openid==3.2.0
+python3-openid==3.2.0 \
+ --hash=sha256:33fbf6928f401e0b790151ed2b5290b02545e8775f982485205a066f874aaeaf \
+ --hash=sha256:6626f771e0417486701e0b4daff762e7212e820ca5b29fcc0d05f6f8736dfa6b
# via django-allauth
-pytz==2024.1
+pytz==2024.1 \
+ --hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \
+ --hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319
# via
# django-dbbackup
# djangorestframework
# icalendar
-pyyaml==6.0.1
+pyyaml==6.0.1 \
+ --hash=sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5 \
+ --hash=sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc \
+ --hash=sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df \
+ --hash=sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741 \
+ --hash=sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206 \
+ --hash=sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27 \
+ --hash=sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595 \
+ --hash=sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62 \
+ --hash=sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98 \
+ --hash=sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696 \
+ --hash=sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290 \
+ --hash=sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9 \
+ --hash=sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d \
+ --hash=sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6 \
+ --hash=sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867 \
+ --hash=sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47 \
+ --hash=sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486 \
+ --hash=sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6 \
+ --hash=sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3 \
+ --hash=sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007 \
+ --hash=sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938 \
+ --hash=sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0 \
+ --hash=sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c \
+ --hash=sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735 \
+ --hash=sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d \
+ --hash=sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28 \
+ --hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \
+ --hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \
+ --hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \
+ --hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
+ --hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \
+ --hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \
+ --hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \
+ --hash=sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0 \
+ --hash=sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515 \
+ --hash=sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c \
+ --hash=sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c \
+ --hash=sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924 \
+ --hash=sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34 \
+ --hash=sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 \
+ --hash=sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859 \
+ --hash=sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673 \
+ --hash=sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54 \
+ --hash=sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a \
+ --hash=sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b \
+ --hash=sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab \
+ --hash=sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa \
+ --hash=sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c \
+ --hash=sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585 \
+ --hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \
+ --hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f
# via
# drf-spectacular
# tablib
-qrcode[pil]==7.4.2
+qrcode[pil]==7.4.2 \
+ --hash=sha256:581dca7a029bcb2deef5d01068e39093e80ef00b4a61098a2182eac59d01643a \
+ --hash=sha256:9dd969454827e127dbd93696b20747239e6d540e082937c90f14ac95b30f5845
# via django-allauth-2fa
-rapidfuzz==3.8.1
-redis==5.0.3
+rapidfuzz==3.8.1 \
+ --hash=sha256:00b5ee47b387fa3805f4038362a085ec58149135dc5bc640ca315a9893a16f9e \
+ --hash=sha256:0798e32304b8009d215026bf7e1c448f1831da0a03987b7de30059a41bee92f3 \
+ --hash=sha256:07d7d4a3c49a15146d65f06e44d7545628ca0437c929684e32ef122852f44d95 \
+ --hash=sha256:14791324f0c753f5a0918df1249b91515f5ddc16281fbaa5ec48bff8fa659229 \
+ --hash=sha256:16153a97efacadbd693ccc612a3285df2f072fd07c121f30c2c135a709537075 \
+ --hash=sha256:17d79398849c1244f646425cf31d856eab9ebd67b7d6571273e53df724ca817e \
+ --hash=sha256:1905d9319a97bed29f21584ca641190dbc9218a556202b77876f1e37618d2e03 \
+ --hash=sha256:1b176f01490b48337183da5b4223005bc0c2354a4faee5118917d2fba0bedc1c \
+ --hash=sha256:1c0264d03dcee1bb975975b77c2fe041820fb4d4a25a99e3cb74ddd083d671ca \
+ --hash=sha256:1d5592b08e3cadc9e06ef3af6a9d66b6ef1bf871ed5acd7f9b1e162d78806a65 \
+ --hash=sha256:1edafc0a2737df277d3ddf401f3a73f76e246b7502762c94a3916453ae67e9b1 \
+ --hash=sha256:1ef119fc127c982053fb9ec638dcc3277f83b034b5972eb05941984b9ec4a290 \
+ --hash=sha256:2084193fd8fd346db496a2220363437eb9370a06d1d5a7a9dba00a64390c6a28 \
+ --hash=sha256:209bb712c448cdec4def6260b9f059bd4681ec61a01568f5e70e37bfe9efe830 \
+ --hash=sha256:231dc1cb63b1c8dd78c0597aa3ad3749a86a2b7e76af295dd81609522699a558 \
+ --hash=sha256:25498650e30122f4a5ad6b27c7614b4af8628c1d32b19d406410d33f77a86c80 \
+ --hash=sha256:267ff42370e031195e3020fff075420c136b69dc918ecb5542ec75c1e36af81f \
+ --hash=sha256:2a8a007fdc5cf646e48e361a39eabe725b93af7673c5ab90294e551cae72ff58 \
+ --hash=sha256:2ba0e43e9a94d256a704a674c7010e6f8ef9225edf7287cf3e7f66c9894b06cd \
+ --hash=sha256:2c6a43446f0cd8ff347b1fbb918dc0d657bebf484ddfa960ee069e422a477428 \
+ --hash=sha256:30c282612b7ebf2d7646ebebfd98dd308c582246a94d576734e4b0162f57baf4 \
+ --hash=sha256:313bdcd16e9cd5e5568b4a31d18a631f0b04cc10a3fd916e4ef75b713e6f177e \
+ --hash=sha256:392582aa784737d95255ca122ebe7dca3c774da900d100c07b53d32cd221a60e \
+ --hash=sha256:3aff3b829b0b04bdf78bd780ec9faf5f26eac3591df98c35a0ae216c925ae436 \
+ --hash=sha256:3fee62ae76e3b8b9fff8aa2ca4061575ee358927ffbdb2919a8c84a98da59f78 \
+ --hash=sha256:41219536634bd6f85419f38450ef080cfb519638125d805cf8626443e677dc61 \
+ --hash=sha256:48b6e5a337a814aec7c6dda5d6460f947c9330860615301f35b519e16dde3c77 \
+ --hash=sha256:4969fe0eb179aedacee53ca8f8f1be3c655964a6d62db30f247fee444b9c52b4 \
+ --hash=sha256:4d5cd86aca3f12e73bfc70015db7e8fc44122da03aa3761138b95112e83f66e4 \
+ --hash=sha256:50db3867864422bf6a6435ea65b9ac9de71ef52ed1e05d62f498cd430189eece \
+ --hash=sha256:58999b21d01dd353f49511a61937eac20c7a5b22eab87612063947081855d85f \
+ --hash=sha256:5f4174079dfe8ed1f13ece9bde7660f19f98ab17e0c0d002d90cc845c3a7e238 \
+ --hash=sha256:63044a7b6791a2e945dce9d812a6886e93159deb0464984eb403617ded257f08 \
+ --hash=sha256:63db612bb6da1bb9f6aa7412739f0e714b1910ec07bc675943044fe683ef192c \
+ --hash=sha256:68b185a0397aebe78bcc5d0e1efd96509d4e2f3c4a05996e5c843732f547e9ef \
+ --hash=sha256:6d4f1956fe1fc618e34ac79a6ed84fff5a6f23e41a8a476dd3e8570f0b12f02b \
+ --hash=sha256:6f34a541895627c2bc9ef7757f16f02428a08d960d33208adfb96b33338d0945 \
+ --hash=sha256:6f7641992de44ec2ca54102422be44a8e3fb75b9690ccd74fff72b9ac7fc00ee \
+ --hash=sha256:6f8b62fdccc429e6643cefffd5df9c7bca65588d06e8925b78014ad9ad983bf5 \
+ --hash=sha256:718ea99f84b16c4bdbf6a93e53552cdccefa18e12ff9a02c5041e621460e2e61 \
+ --hash=sha256:747265f39978bbaad356f5c6b6c808f0e8f5e8994875af0119b82b4700c55387 \
+ --hash=sha256:77ea62879932b32aba77ab23a9296390a67d024bf2f048dee99143be80a4ce26 \
+ --hash=sha256:78a0d2a11bb3936463609777c6d6d4984a27ebb2360b58339c699899d85db036 \
+ --hash=sha256:799f5f221d639d1c2ed8a2348d1edf5e22aa489b58b2cc99f5bf0c1917e2d0f2 \
+ --hash=sha256:81fd28389bedab28251f0535b3c034b0e63a618efc3ff1d338c81a3da723adb3 \
+ --hash=sha256:827ddf2d5d157ac3d1001b52e84c9e20366237a742946599ffc435af7fdd26d0 \
+ --hash=sha256:8b76abfec195bf1ee6f9ec56c33ba5e9615ff2d0a9530a54001ed87e5a6ced3b \
+ --hash=sha256:8c40da44ca20235cda05751d6e828b6b348e7a7c5de2922fa0f9c63f564fd675 \
+ --hash=sha256:8e02425bfc7ebed617323a674974b70eaecd8f07b64a7d16e0bf3e766b93e3c9 \
+ --hash=sha256:8e08b01dc9369941a24d7e512b0d81bf514e7d6add1b93d8aeec3c8fa08a824e \
+ --hash=sha256:90167a48de3ed7f062058826608a80242b8561d0fb0cce2c610d741624811a61 \
+ --hash=sha256:9441aca94b21f7349cdb231cd0ce9ca251b2355836e8a02bf6ccbea5b442d7a9 \
+ --hash=sha256:97c13f156f14f10667e1cfc4257069b775440ce005e896c09ce3aff21c9ae665 \
+ --hash=sha256:987cd277d27d14301019fdf61c17524f6127f5d364be5482228726049d8e0d10 \
+ --hash=sha256:9a16ef3702cecf16056c5fd66398b7ea8622ff4e3afeb00a8db3e74427e850af \
+ --hash=sha256:9ea3d2e41d8fac71cb63ee72f75bee0ed1e9c50709d4c58587f15437761c1858 \
+ --hash=sha256:a02def2eb526cc934d2125533cf2f15aa71c72ed4397afca38427ab047901e88 \
+ --hash=sha256:a0643a25937fafe8d117f2907606e9940cd1cc905c66f16ece9ab93128299994 \
+ --hash=sha256:a2ee3909f611cc5860cc8d9f92d039fd84241ce7360b49ea88e657181d2b45f6 \
+ --hash=sha256:a357aae6791118011ad3ab4f2a4aa7bd7a487e5f9981b390e9f3c2c5137ecadf \
+ --hash=sha256:aa223c73c59cc45c12eaa9c439318084003beced0447ff92b578a890288e19eb \
+ --hash=sha256:ad4dbd06c1f579eb043b2dcfc635bc6c9fb858240a70f0abd3bed84d8ac79994 \
+ --hash=sha256:b0ba20be465566264fa5580d874ccf5eabba6975dba45857e2c76e2df3359c6d \
+ --hash=sha256:b27cea618601ca5032ea98ee116ca6e0fe67be7b286bcb0b9f956d64db697472 \
+ --hash=sha256:b7b9cbc60e3eb08da6d18636c62c6eb6206cd9d0c7ad73996f7a1df3fc415b27 \
+ --hash=sha256:bb571dbd4cc93342be0ba632f0b8d7de4cbd9d959d76371d33716d2216090d41 \
+ --hash=sha256:bbc15985c5658691f637a6b97651771147744edfad2a4be56b8a06755e3932fa \
+ --hash=sha256:bc5a1ec3bd05b55d3070d557c0cdd4412272d51b4966c79aa3e9da207bd33d65 \
+ --hash=sha256:bca5acf77508d1822023a85118c2dd8d3c16abdd56d2762359a46deb14daa5e0 \
+ --hash=sha256:c04ef83c9ca3162d200df36e933b3ea0327a2626cee2e01bbe55acbc004ce261 \
+ --hash=sha256:c21d5c7cfa6078c79897e5e482a7e84ff927143d2f3fb020dd6edd27f5469574 \
+ --hash=sha256:c22b32a57ab47afb207e8fe4bd7bb58c90f9291a63723cafd4e704742166e368 \
+ --hash=sha256:c458085e067c766112f089f78ce39eab2b69ba027d7bbb11d067a0b085774367 \
+ --hash=sha256:c4dbb1ebc9a811f38da33f32ed2bb5f58b149289b89eb11e384519e9ba7ca881 \
+ --hash=sha256:c754ce1fab41b731259f100d5d46529a38aa2c9b683c92aeb7e96ef5b2898cd8 \
+ --hash=sha256:c763d99cf087e7b2c5be0cf34ae9a0e1b031f5057d2341a0a0ed782458645b7e \
+ --hash=sha256:c9597a05d08e8103ad59ebdf29e3fbffb0d0dbf3b641f102cfbeadc3a77bde51 \
+ --hash=sha256:cc4af7090a626c902c48db9b5d786c1faa0d8e141571e8a63a5350419ea575bd \
+ --hash=sha256:ceb10039e7346927cec47eaa490b34abb602b537e738ee9914bb41b8de029fbc \
+ --hash=sha256:d1a15fef1938b43468002f2d81012dbc9e7b50eb8533af202b0559c2dc7865d9 \
+ --hash=sha256:d4276c7ee061db0bac54846933b40339f60085523675f917f37de24a4b3ce0ee \
+ --hash=sha256:d48657a404fab82b2754faa813a10c5ad6aa594cb1829dca168a49438b61b4ec \
+ --hash=sha256:e3f882110f2f4894942e314451773c47e8b1b4920b5ea2b6dd2e2d4079dd3135 \
+ --hash=sha256:e4c647795c5b901091a68e210c76b769af70a33a8624ac496ac3e34d33366c0d \
+ --hash=sha256:e62bde7d5df3312acc528786ee801c472cae5078b1f1e42761c853ba7fe1072a \
+ --hash=sha256:e6ec696a268e8d730b42711537e500f7397afc06125c0e8fa9c8211386d315a5 \
+ --hash=sha256:f176867f438ff2a43e6a837930153ca78fddb3ca94e378603a1e7b860d7869bf \
+ --hash=sha256:f8af980695b866255447703bf634551e67e1a4e1c2d2d26501858d9233d886d7 \
+ --hash=sha256:f8e57f9c2367706a320b78e91f8bf9a3b03bf9069464eb7b54455fa340d03e4c \
+ --hash=sha256:f9d5d924970b07128c61c08eebee718686f4bd9838ef712a50468169520c953f
+redis==5.0.3 \
+ --hash=sha256:4973bae7444c0fbed64a06b87446f79361cb7e4ec1538c022d696ed7a5015580 \
+ --hash=sha256:5da9b8fe9e1254293756c16c008e8620b3d15fcc6dde6babde9541850e72a32d
# via django-redis
-referencing==0.34.0
+referencing==0.34.0 \
+ --hash=sha256:5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844 \
+ --hash=sha256:d53ae300ceddd3169f1ffa9caf2cb7b769e92657e4fafb23d34b93679116dfd4
# via
# jsonschema
# jsonschema-specifications
-regex==2023.12.25
-requests==2.31.0
+regex==2023.12.25 \
+ --hash=sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5 \
+ --hash=sha256:086dd15e9435b393ae06f96ab69ab2d333f5d65cbe65ca5a3ef0ec9564dfe770 \
+ --hash=sha256:094ba386bb5c01e54e14434d4caabf6583334090865b23ef58e0424a6286d3dc \
+ --hash=sha256:09da66917262d9481c719599116c7dc0c321ffcec4b1f510c4f8a066f8768105 \
+ --hash=sha256:0ecf44ddf9171cd7566ef1768047f6e66975788258b1c6c6ca78098b95cf9a3d \
+ --hash=sha256:0fda75704357805eb953a3ee15a2b240694a9a514548cd49b3c5124b4e2ad01b \
+ --hash=sha256:11a963f8e25ab5c61348d090bf1b07f1953929c13bd2309a0662e9ff680763c9 \
+ --hash=sha256:150c39f5b964e4d7dba46a7962a088fbc91f06e606f023ce57bb347a3b2d4630 \
+ --hash=sha256:1b9d811f72210fa9306aeb88385b8f8bcef0dfbf3873410413c00aa94c56c2b6 \
+ --hash=sha256:1e0eabac536b4cc7f57a5f3d095bfa557860ab912f25965e08fe1545e2ed8b4c \
+ --hash=sha256:22a86d9fff2009302c440b9d799ef2fe322416d2d58fc124b926aa89365ec482 \
+ --hash=sha256:22f3470f7524b6da61e2020672df2f3063676aff444db1daa283c2ea4ed259d6 \
+ --hash=sha256:263ef5cc10979837f243950637fffb06e8daed7f1ac1e39d5910fd29929e489a \
+ --hash=sha256:283fc8eed679758de38fe493b7d7d84a198b558942b03f017b1f94dda8efae80 \
+ --hash=sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5 \
+ --hash=sha256:298dc6354d414bc921581be85695d18912bea163a8b23cac9a2562bbcd5088b1 \
+ --hash=sha256:2aae8101919e8aa05ecfe6322b278f41ce2994c4a430303c4cd163fef746e04f \
+ --hash=sha256:2f4e475a80ecbd15896a976aa0b386c5525d0ed34d5c600b6d3ebac0a67c7ddf \
+ --hash=sha256:34e4af5b27232f68042aa40a91c3b9bb4da0eeb31b7632e0091afc4310afe6cb \
+ --hash=sha256:37f8e93a81fc5e5bd8db7e10e62dc64261bcd88f8d7e6640aaebe9bc180d9ce2 \
+ --hash=sha256:3a17d3ede18f9cedcbe23d2daa8a2cd6f59fe2bf082c567e43083bba3fb00347 \
+ --hash=sha256:3b1de218d5375cd6ac4b5493e0b9f3df2be331e86520f23382f216c137913d20 \
+ --hash=sha256:43f7cd5754d02a56ae4ebb91b33461dc67be8e3e0153f593c509e21d219c5060 \
+ --hash=sha256:4558410b7a5607a645e9804a3e9dd509af12fb72b9825b13791a37cd417d73a5 \
+ --hash=sha256:4719bb05094d7d8563a450cf8738d2e1061420f79cfcc1fa7f0a44744c4d8f73 \
+ --hash=sha256:4bfc2b16e3ba8850e0e262467275dd4d62f0d045e0e9eda2bc65078c0110a11f \
+ --hash=sha256:518440c991f514331f4850a63560321f833979d145d7d81186dbe2f19e27ae3d \
+ --hash=sha256:51f4b32f793812714fd5307222a7f77e739b9bc566dc94a18126aba3b92b98a3 \
+ --hash=sha256:531ac6cf22b53e0696f8e1d56ce2396311254eb806111ddd3922c9d937151dae \
+ --hash=sha256:5cd05d0f57846d8ba4b71d9c00f6f37d6b97d5e5ef8b3c3840426a475c8f70f4 \
+ --hash=sha256:5dd58946bce44b53b06d94aa95560d0b243eb2fe64227cba50017a8d8b3cd3e2 \
+ --hash=sha256:60080bb3d8617d96f0fb7e19796384cc2467447ef1c491694850ebd3670bc457 \
+ --hash=sha256:636ba0a77de609d6510235b7f0e77ec494d2657108f777e8765efc060094c98c \
+ --hash=sha256:67d3ccfc590e5e7197750fcb3a2915b416a53e2de847a728cfa60141054123d4 \
+ --hash=sha256:68191f80a9bad283432385961d9efe09d783bcd36ed35a60fb1ff3f1ec2efe87 \
+ --hash=sha256:7502534e55c7c36c0978c91ba6f61703faf7ce733715ca48f499d3dbbd7657e0 \
+ --hash=sha256:7aa47c2e9ea33a4a2a05f40fcd3ea36d73853a2aae7b4feab6fc85f8bf2c9704 \
+ --hash=sha256:7d2af3f6b8419661a0c421584cfe8aaec1c0e435ce7e47ee2a97e344b98f794f \
+ --hash=sha256:7e316026cc1095f2a3e8cc012822c99f413b702eaa2ca5408a513609488cb62f \
+ --hash=sha256:88ad44e220e22b63b0f8f81f007e8abbb92874d8ced66f32571ef8beb0643b2b \
+ --hash=sha256:88d1f7bef20c721359d8675f7d9f8e414ec5003d8f642fdfd8087777ff7f94b5 \
+ --hash=sha256:89723d2112697feaa320c9d351e5f5e7b841e83f8b143dba8e2d2b5f04e10923 \
+ --hash=sha256:8a0ccf52bb37d1a700375a6b395bff5dd15c50acb745f7db30415bae3c2b0715 \
+ --hash=sha256:8c2c19dae8a3eb0ea45a8448356ed561be843b13cbc34b840922ddf565498c1c \
+ --hash=sha256:905466ad1702ed4acfd67a902af50b8db1feeb9781436372261808df7a2a7bca \
+ --hash=sha256:9852b76ab558e45b20bf1893b59af64a28bd3820b0c2efc80e0a70a4a3ea51c1 \
+ --hash=sha256:98a2636994f943b871786c9e82bfe7883ecdaba2ef5df54e1450fa9869d1f756 \
+ --hash=sha256:9aa1a67bbf0f957bbe096375887b2505f5d8ae16bf04488e8b0f334c36e31360 \
+ --hash=sha256:9eda5f7a50141291beda3edd00abc2d4a5b16c29c92daf8d5bd76934150f3edc \
+ --hash=sha256:a6d1047952c0b8104a1d371f88f4ab62e6275567d4458c1e26e9627ad489b445 \
+ --hash=sha256:a9b6d73353f777630626f403b0652055ebfe8ff142a44ec2cf18ae470395766e \
+ --hash=sha256:a9cc99d6946d750eb75827cb53c4371b8b0fe89c733a94b1573c9dd16ea6c9e4 \
+ --hash=sha256:ad83e7545b4ab69216cef4cc47e344d19622e28aabec61574b20257c65466d6a \
+ --hash=sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8 \
+ --hash=sha256:b43523d7bc2abd757119dbfb38af91b5735eea45537ec6ec3a5ec3f9562a1c53 \
+ --hash=sha256:b521dcecebc5b978b447f0f69b5b7f3840eac454862270406a39837ffae4e697 \
+ --hash=sha256:b77e27b79448e34c2c51c09836033056a0547aa360c45eeeb67803da7b0eedaf \
+ --hash=sha256:b7a635871143661feccce3979e1727c4e094f2bdfd3ec4b90dfd4f16f571a87a \
+ --hash=sha256:b7fca9205b59c1a3d5031f7e64ed627a1074730a51c2a80e97653e3e9fa0d415 \
+ --hash=sha256:ba1b30765a55acf15dce3f364e4928b80858fa8f979ad41f862358939bdd1f2f \
+ --hash=sha256:ba99d8077424501b9616b43a2d208095746fb1284fc5ba490139651f971d39d9 \
+ --hash=sha256:c25a8ad70e716f96e13a637802813f65d8a6760ef48672aa3502f4c24ea8b400 \
+ --hash=sha256:c3c4a78615b7762740531c27cf46e2f388d8d727d0c0c739e72048beb26c8a9d \
+ --hash=sha256:c40281f7d70baf6e0db0c2f7472b31609f5bc2748fe7275ea65a0b4601d9b392 \
+ --hash=sha256:c7ad32824b7f02bb3c9f80306d405a1d9b7bb89362d68b3c5a9be53836caebdb \
+ --hash=sha256:cb3fe77aec8f1995611f966d0c656fdce398317f850d0e6e7aebdfe61f40e1cd \
+ --hash=sha256:cc038b2d8b1470364b1888a98fd22d616fba2b6309c5b5f181ad4483e0017861 \
+ --hash=sha256:cc37b9aeebab425f11f27e5e9e6cf580be7206c6582a64467a14dda211abc232 \
+ --hash=sha256:cc6bb9aa69aacf0f6032c307da718f61a40cf970849e471254e0e91c56ffca95 \
+ --hash=sha256:d126361607b33c4eb7b36debc173bf25d7805847346dd4d99b5499e1fef52bc7 \
+ --hash=sha256:d15b274f9e15b1a0b7a45d2ac86d1f634d983ca40d6b886721626c47a400bf39 \
+ --hash=sha256:d166eafc19f4718df38887b2bbe1467a4f74a9830e8605089ea7a30dd4da8887 \
+ --hash=sha256:d498eea3f581fbe1b34b59c697512a8baef88212f92e4c7830fcc1499f5b45a5 \
+ --hash=sha256:d6f7e255e5fa94642a0724e35406e6cb7001c09d476ab5fce002f652b36d0c39 \
+ --hash=sha256:d78bd484930c1da2b9679290a41cdb25cc127d783768a0369d6b449e72f88beb \
+ --hash=sha256:d865984b3f71f6d0af64d0d88f5733521698f6c16f445bb09ce746c92c97c586 \
+ --hash=sha256:d902a43085a308cef32c0d3aea962524b725403fd9373dea18110904003bac97 \
+ --hash=sha256:d94a1db462d5690ebf6ae86d11c5e420042b9898af5dcf278bd97d6bda065423 \
+ --hash=sha256:da695d75ac97cb1cd725adac136d25ca687da4536154cdc2815f576e4da11c69 \
+ --hash=sha256:db2a0b1857f18b11e3b0e54ddfefc96af46b0896fb678c85f63fb8c37518b3e7 \
+ --hash=sha256:df26481f0c7a3f8739fecb3e81bc9da3fcfae34d6c094563b9d4670b047312e1 \
+ --hash=sha256:e14b73607d6231f3cc4622809c196b540a6a44e903bcfad940779c80dffa7be7 \
+ --hash=sha256:e2610e9406d3b0073636a3a2e80db05a02f0c3169b5632022b4e81c0364bcda5 \
+ --hash=sha256:e692296c4cc2873967771345a876bcfc1c547e8dd695c6b89342488b0ea55cd8 \
+ --hash=sha256:e693e233ac92ba83a87024e1d32b5f9ab15ca55ddd916d878146f4e3406b5c91 \
+ --hash=sha256:e81469f7d01efed9b53740aedd26085f20d49da65f9c1f41e822a33992cb1590 \
+ --hash=sha256:e8c7e08bb566de4faaf11984af13f6bcf6a08f327b13631d41d62592681d24fe \
+ --hash=sha256:ed19b3a05ae0c97dd8f75a5d8f21f7723a8c33bbc555da6bbe1f96c470139d3c \
+ --hash=sha256:efb2d82f33b2212898f1659fb1c2e9ac30493ac41e4d53123da374c3b5541e64 \
+ --hash=sha256:f44dd4d68697559d007462b0a3a1d9acd61d97072b71f6d1968daef26bc744bd \
+ --hash=sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa \
+ --hash=sha256:f7bc09bc9c29ebead055bcba136a67378f03d66bf359e87d0f7c759d6d4ffa31 \
+ --hash=sha256:ff100b203092af77d1a5a7abe085b3506b7eaaf9abf65b73b7d6905b6cb76988
+requests==2.31.0 \
+ --hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \
+ --hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1
# via
# coreapi
# django-allauth
# opentelemetry-exporter-otlp-proto-http
# requests-oauthlib
-requests-oauthlib==2.0.0
+requests-oauthlib==2.0.0 \
+ --hash=sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36 \
+ --hash=sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9
# via django-allauth
-rpds-py==0.18.0
+rpds-py==0.18.0 \
+ --hash=sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f \
+ --hash=sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c \
+ --hash=sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76 \
+ --hash=sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e \
+ --hash=sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157 \
+ --hash=sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f \
+ --hash=sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5 \
+ --hash=sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05 \
+ --hash=sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24 \
+ --hash=sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1 \
+ --hash=sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8 \
+ --hash=sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b \
+ --hash=sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb \
+ --hash=sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07 \
+ --hash=sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1 \
+ --hash=sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6 \
+ --hash=sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e \
+ --hash=sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e \
+ --hash=sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1 \
+ --hash=sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab \
+ --hash=sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4 \
+ --hash=sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17 \
+ --hash=sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594 \
+ --hash=sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d \
+ --hash=sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d \
+ --hash=sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3 \
+ --hash=sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c \
+ --hash=sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66 \
+ --hash=sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f \
+ --hash=sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80 \
+ --hash=sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33 \
+ --hash=sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f \
+ --hash=sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c \
+ --hash=sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022 \
+ --hash=sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e \
+ --hash=sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f \
+ --hash=sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da \
+ --hash=sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1 \
+ --hash=sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688 \
+ --hash=sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795 \
+ --hash=sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c \
+ --hash=sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98 \
+ --hash=sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1 \
+ --hash=sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20 \
+ --hash=sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307 \
+ --hash=sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4 \
+ --hash=sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18 \
+ --hash=sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294 \
+ --hash=sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66 \
+ --hash=sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467 \
+ --hash=sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948 \
+ --hash=sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e \
+ --hash=sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1 \
+ --hash=sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0 \
+ --hash=sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7 \
+ --hash=sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd \
+ --hash=sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641 \
+ --hash=sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d \
+ --hash=sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9 \
+ --hash=sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1 \
+ --hash=sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da \
+ --hash=sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3 \
+ --hash=sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa \
+ --hash=sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7 \
+ --hash=sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40 \
+ --hash=sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496 \
+ --hash=sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124 \
+ --hash=sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836 \
+ --hash=sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434 \
+ --hash=sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984 \
+ --hash=sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f \
+ --hash=sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6 \
+ --hash=sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e \
+ --hash=sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461 \
+ --hash=sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c \
+ --hash=sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432 \
+ --hash=sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73 \
+ --hash=sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58 \
+ --hash=sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88 \
+ --hash=sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337 \
+ --hash=sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7 \
+ --hash=sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863 \
+ --hash=sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475 \
+ --hash=sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3 \
+ --hash=sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51 \
+ --hash=sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf \
+ --hash=sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024 \
+ --hash=sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40 \
+ --hash=sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9 \
+ --hash=sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec \
+ --hash=sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb \
+ --hash=sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7 \
+ --hash=sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861 \
+ --hash=sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880 \
+ --hash=sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f \
+ --hash=sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd \
+ --hash=sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca \
+ --hash=sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58 \
+ --hash=sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e
# via
# jsonschema
# referencing
-sentry-sdk==1.44.1
+sentry-sdk==1.45.0 \
+ --hash=sha256:1ce29e30240cc289a027011103a8c83885b15ef2f316a60bcc7c5300afa144f1 \
+ --hash=sha256:509aa9678c0512344ca886281766c2e538682f8acfa50fd8d405f8c417ad0625
# via django-q-sentry
-setuptools==69.2.0
+setuptools==69.5.1 \
+ --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \
+ --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32
# via
# django-money
# opentelemetry-instrumentation
-sgmllib3k==1.0.0
+sgmllib3k==1.0.0 \
+ --hash=sha256:7868fb1c8bfa764c1ac563d3cf369c381d1325d36124933a726f29fcdaa812e9
# via feedparser
-six==1.16.0
+six==1.16.0 \
+ --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \
+ --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
# via
# bleach
# html5lib
# python-dateutil
-sqlparse==0.4.4
+sqlparse==0.4.4 \
+ --hash=sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3 \
+ --hash=sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c
# via
# django
# django-sql-utils
-tablib[html, ods, xls, xlsx, yaml]==3.5.0
+tablib[html, ods, xls, xlsx, yaml]==3.5.0 \
+ --hash=sha256:9821caa9eca6062ff7299fa645e737aecff982e6b2b42046928a6413c8dabfd9 \
+ --hash=sha256:f6661dfc45e1d4f51fa8a6239f9c8349380859a5bfaa73280645f046d6c96e33
# via django-import-export
-tinycss2==1.2.1
+tinycss2==1.2.1 \
+ --hash=sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847 \
+ --hash=sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627
# via
# bleach
# cssselect2
# weasyprint
-typing-extensions==4.11.0
+typing-extensions==4.11.0 \
+ --hash=sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0 \
+ --hash=sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a
# via
# asgiref
# drf-spectacular
# opentelemetry-sdk
# py-moneyed
# qrcode
-uritemplate==4.1.1
+uritemplate==4.1.1 \
+ --hash=sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0 \
+ --hash=sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e
# via
# coreapi
# drf-spectacular
-urllib3==2.2.1
+urllib3==2.2.1 \
+ --hash=sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d \
+ --hash=sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19
# via
# dulwich
# requests
# sentry-sdk
-wcwidth==0.2.13
+wcwidth==0.2.13 \
+ --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 \
+ --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5
# via prettytable
-weasyprint==61.2
+weasyprint==61.2 \
+ --hash=sha256:47df6cfeeff8c6c28cf2e4caf837cde17715efe462708ada74baa2eb391b6059 \
+ --hash=sha256:76c6dc0e75e09182d5645d92c66ddf86b1b992c9420235b723fb374b584e5bf4
# via django-weasyprint
-webencodings==0.5.1
+webencodings==0.5.1 \
+ --hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \
+ --hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923
# via
# bleach
# cssselect2
# html5lib
# tinycss2
-whitenoise==6.6.0
-wrapt==1.16.0
+whitenoise==6.6.0 \
+ --hash=sha256:8998f7370973447fac1e8ef6e8ded2c5209a7b1f67c1012866dbcd09681c3251 \
+ --hash=sha256:b1f9db9bf67dc183484d760b99f4080185633136a273a03f6436034a41064146
+wrapt==1.16.0 \
+ --hash=sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc \
+ --hash=sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81 \
+ --hash=sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09 \
+ --hash=sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e \
+ --hash=sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca \
+ --hash=sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0 \
+ --hash=sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb \
+ --hash=sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487 \
+ --hash=sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40 \
+ --hash=sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c \
+ --hash=sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060 \
+ --hash=sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202 \
+ --hash=sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41 \
+ --hash=sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9 \
+ --hash=sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b \
+ --hash=sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664 \
+ --hash=sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d \
+ --hash=sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362 \
+ --hash=sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00 \
+ --hash=sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc \
+ --hash=sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1 \
+ --hash=sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267 \
+ --hash=sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956 \
+ --hash=sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966 \
+ --hash=sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1 \
+ --hash=sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228 \
+ --hash=sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72 \
+ --hash=sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d \
+ --hash=sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292 \
+ --hash=sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0 \
+ --hash=sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0 \
+ --hash=sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36 \
+ --hash=sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c \
+ --hash=sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5 \
+ --hash=sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f \
+ --hash=sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73 \
+ --hash=sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b \
+ --hash=sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2 \
+ --hash=sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593 \
+ --hash=sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39 \
+ --hash=sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389 \
+ --hash=sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf \
+ --hash=sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf \
+ --hash=sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89 \
+ --hash=sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c \
+ --hash=sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c \
+ --hash=sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f \
+ --hash=sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440 \
+ --hash=sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465 \
+ --hash=sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136 \
+ --hash=sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b \
+ --hash=sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8 \
+ --hash=sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3 \
+ --hash=sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8 \
+ --hash=sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6 \
+ --hash=sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e \
+ --hash=sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f \
+ --hash=sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c \
+ --hash=sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e \
+ --hash=sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8 \
+ --hash=sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2 \
+ --hash=sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020 \
+ --hash=sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35 \
+ --hash=sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d \
+ --hash=sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3 \
+ --hash=sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537 \
+ --hash=sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809 \
+ --hash=sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d \
+ --hash=sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a \
+ --hash=sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4
# via
# deprecated
# opentelemetry-instrumentation
# opentelemetry-instrumentation-redis
-xlrd==2.0.1
+xlrd==2.0.1 \
+ --hash=sha256:6a33ee89877bd9abc1158129f6e94be74e2679636b8a205b43b85206c3f0bbdd \
+ --hash=sha256:f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88
# via tablib
-xlwt==1.3.0
+xlwt==1.3.0 \
+ --hash=sha256:a082260524678ba48a297d922cc385f58278b8aa68741596a87de01a9c628b2e \
+ --hash=sha256:c59912717a9b28f1a3c2a98fd60741014b06b043936dcecbc113eaaada156c88
# via tablib
-zipp==3.18.1
+zipp==3.18.1 \
+ --hash=sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b \
+ --hash=sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715
# via importlib-metadata
-zopfli==0.2.3
+zopfli==0.2.3 \
+ --hash=sha256:0574372283befa5af98fb31407e1fe6822f2f9c437ef69e7fa260e49022d8a65 \
+ --hash=sha256:082f030b2b7d6d4597ac517816e499c63b92130aa8f4f74a3788ebaa5770f974 \
+ --hash=sha256:08d105a49576a9e629f53a710f0009c4bf0a1d8a3239a74e41d0944f26e28a61 \
+ --hash=sha256:09ad5f8d7e0fe1975ca6d9fd5ad61c74233ae277982d3bc8814b599bbeb92f44 \
+ --hash=sha256:0fbb6e7fc0da56835167e3c83a45b28e99ba14b671ecb8e51100ad03dfffc3d0 \
+ --hash=sha256:13d151d5c83980f384439c87a5511853890182c05d93444f3cb05e5ceed37d82 \
+ --hash=sha256:1c5fd29730024f5fb0e2623e3853ca422bd3cf57042389c8e0e771dc47f88084 \
+ --hash=sha256:1f25f1bb6440ed90a1d458772fa6ce53632f5fb61e435b12ae6b9b39af98d758 \
+ --hash=sha256:2073b07c3ec4fcbc895bb02565a90f9f31373233979f6be398e82eacbd1105f3 \
+ --hash=sha256:22b1cfc398a87754730f7e268693c8eb480cb688fd645648fda85614a8b1c08c \
+ --hash=sha256:2770cf6b88e9985c79b90fd6d4c15d8dab0caa37c1c3b17773e61ce857eab586 \
+ --hash=sha256:27f2b58050f84fa059db7a6ec17d98b388c18f9783551e5f97605f790f25e155 \
+ --hash=sha256:2da6f30632cefda8ebe032fdcb69cf062f5a6435af9d32de82ccef320e0261f5 \
+ --hash=sha256:31c467a300ba46f55aa0ea958ea388e350eefd039cf15764bf4cd737d5eeb8a6 \
+ --hash=sha256:39d8a73bee07cf7f2c73e08508bf788bfdf28a527da353b5d3e2a0ee4aaf770c \
+ --hash=sha256:3e4675ca4c7b1215b8a53cec1831cbdb6914f91ea2f183817a06fc7b38e27642 \
+ --hash=sha256:40665bf0bacc8b82652a1af4016648dd69f896afa59fc481c1d19a222aa746ea \
+ --hash=sha256:40b830244e6458ef982b4a5ebb0f228986d481408bae557a95eeece2c5ede4e6 \
+ --hash=sha256:52438999888715a378fc6fe1477ab7813e9e9b58a27a38d2ad7be0e396b1ab2e \
+ --hash=sha256:57f93802e5ddb20647747ee4039a2e18a26e91bac4c41d3d75a2b2c97f270549 \
+ --hash=sha256:5e52aaab3a93470cf0ff2bb2135a8628dda7b70f675c46f35b6a1b30e8e482f4 \
+ --hash=sha256:6020a3533c6c7be09db9e59c2a8f3f894bf5d8e95cc01890d82114c923317c57 \
+ --hash=sha256:61a2fcc624e8b038d4fca84ba927dc3f31df53a7284692d46aa44d16fb3f47b2 \
+ --hash=sha256:61abe5f11400f9c6b22be578091e28dfb9f1a61efaaeaa2da66138b03ee93072 \
+ --hash=sha256:6225bbc33c4f803cdc1e71e3028af96dd0e1ed3cf061780d1bf05648df616a05 \
+ --hash=sha256:711d4fde9cb99e1a9158978e9d1624a37cdd170ff057f6340059514fcf38e808 \
+ --hash=sha256:72349c78da402e6784bd9c5f4aff5cc7017bd969016ec07b656722f7f29fc975 \
+ --hash=sha256:7463b42a2cee33f0a018bf8f1304da2379d6cb8111aa4e04d8f8590d0f1099e1 \
+ --hash=sha256:7599ce108386d91a402969cba4f17247e33a594b21cbd662e008414ccb0b4cf7 \
+ --hash=sha256:7769f6ca73f37dff92159127bd25b0cc7d81d3feb819d355dc7ac01ad05c673d \
+ --hash=sha256:78022777139ac973286219e9e085d9496fb6c935502d93a52bd1bed01dfc2002 \
+ --hash=sha256:7bc89b71d1c4677f708cc162f40a4560f78f5f4c6aa6d884b423df7d38e8ba0b \
+ --hash=sha256:7ddcbc258bb5c07ebb7f6ee64c46d4e35c39c6abba2b3dfa72c0ea4daf9e65fc \
+ --hash=sha256:7ebb4e1b0f102d431830151041777c55700d12afd1e5adb5bcbce72037c1a10e \
+ --hash=sha256:81d61eba5a8e221b297a1dd27f1dae2785a14a5524cc1e144da53705cf90d5c4 \
+ --hash=sha256:8293062567917201609b28b865289d5ddee55030c779fa9264caae4cc2e00fb3 \
+ --hash=sha256:84321886cf3e80e086e0f6f7b765975343aafa61165315bb8db514d0bec2d887 \
+ --hash=sha256:92ca61eaa1df774908c173683e23c512189bf791a7ebb49fac61324658cff490 \
+ --hash=sha256:975d45745cf6c3e3b61127e0140dcf145fa515f2021f669bd82768937b7bb1fb \
+ --hash=sha256:978395a4ce5cc46db29a36cdb80549b564dc7706237abaca5aac328dd5842f65 \
+ --hash=sha256:97d2f993142fed4f9c11c1766eb53409efe7298c755cf4599c171bfedcbaddae \
+ --hash=sha256:9dcf7af42c11b3cf5d3fbf665799e10f54f66caea2020fe304602df83b9a1a69 \
+ --hash=sha256:ad2a98890045d13b0cdc93c1637990c211dc877493469afc61a097a00a70cf22 \
+ --hash=sha256:ae890df6e5f1e8fa0697cafd848826decce0ac53e54e5a018fd97775e3a354c0 \
+ --hash=sha256:b30a922b9d73f22da2b589b35e594dcc6d144eb38ad890c542f2b92902ba9892 \
+ --hash=sha256:c1afe5ba0d957e462afbd3da116ac1a2a6d23e8a94436a95b692c5c324694a16 \
+ --hash=sha256:c3c61787a90439cf68f751b2a1ab789b0805876c0cd9b58398adc212d1eeace5 \
+ --hash=sha256:c6555293e42e7a9154940bb18613de2abce21a855780baff8a6c372e395c59b3 \
+ --hash=sha256:ca9a6df3d11c2f8f0356c141523c4914a2850dd39fc213d968c0272db635eea9 \
+ --hash=sha256:d0a8e556916088fadb098ddb6eed034d5c2df3b8fba7f2488e87e8c224002eca \
+ --hash=sha256:d40373db61883f6fc8b7040c9196a16f737e3063632afd15e8b3f25e871a30e8 \
+ --hash=sha256:dbc9841bedd736041eb5e6982cd92da93bee145745f5422f3795f6f258cdc6ef \
+ --hash=sha256:dc59299eda2aaf57f0ee5c4b42ada0b80e3dc4c09c5bdda8ee9ae5cf93fafa9e \
+ --hash=sha256:deffa15253a43a597e8ebf82ca1908bd70b3bf899da163b017d49ddd5e12732a \
+ --hash=sha256:e4068d4d35b2e63898d22e1b7777d986b8f5d61fe83a77973730ce9cff1b4ba1 \
+ --hash=sha256:e5f62ca9a947f09f531c721e2a3f2e0094523436b8eb5df18d71245c1924f89a \
+ --hash=sha256:eef08c02295bb99c7fdca380c52e5454fa1c08025fb0bea2c7ae6c0e1e9c034b \
+ --hash=sha256:f07997453e7777e19ef0a2445cc1b90e1bb90c623dd77554325932dea6350fee \
+ --hash=sha256:f48de4818c10c539fdd01276512043ae4ae738e0301e9cace1dd38f4bcffad6a \
+ --hash=sha256:f69b161b4d49e256ab285c6c6ee1cf217fda864a9b175d24fa0a0b8c2de9ff13 \
+ --hash=sha256:ff86a2cd6b9864027861a129d6d73231b6d463f0d364ca0fdca4492390357cba
# via fonttools
diff --git a/src/frontend/.eslintrc.cjs b/src/frontend/eslint.config.cjs
similarity index 100%
rename from src/frontend/.eslintrc.cjs
rename to src/frontend/eslint.config.cjs
diff --git a/src/frontend/playwright.config.ts b/src/frontend/playwright.config.ts
index d40ec5cf42..91e32c27ca 100644
--- a/src/frontend/playwright.config.ts
+++ b/src/frontend/playwright.config.ts
@@ -36,6 +36,9 @@ export default defineConfig({
},
{
command: 'invoke server -a 127.0.0.1:8000',
+ env: {
+ INVENTREE_DEBUG: 'True'
+ },
url: 'http://127.0.0.1:8000/api/',
reuseExistingServer: !process.env.CI,
stdout: 'pipe',
diff --git a/src/frontend/src/App.tsx b/src/frontend/src/App.tsx
index 0ec3e8576c..fff83a6af8 100644
--- a/src/frontend/src/App.tsx
+++ b/src/frontend/src/App.tsx
@@ -1,40 +1,24 @@
import { QueryClient } from '@tanstack/react-query';
import axios from 'axios';
-import { getCsrfCookie } from './functions/auth';
import { useLocalState } from './states/LocalState';
-import { useSessionState } from './states/SessionState';
// Global API instance
export const api = axios.create({});
/*
* Setup default settings for the Axios API instance.
- *
- * This includes:
- * - Base URL
- * - Authorization token (if available)
- * - CSRF token (if available)
*/
export function setApiDefaults() {
const host = useLocalState.getState().host;
- const token = useSessionState.getState().token;
api.defaults.baseURL = host;
api.defaults.timeout = 2500;
- api.defaults.headers.common['Authorization'] = token
- ? `Token ${token}`
- : undefined;
- if (!!getCsrfCookie()) {
- api.defaults.withCredentials = true;
- api.defaults.xsrfCookieName = 'csrftoken';
- api.defaults.xsrfHeaderName = 'X-CSRFToken';
- } else {
- api.defaults.withCredentials = false;
- api.defaults.xsrfCookieName = undefined;
- api.defaults.xsrfHeaderName = undefined;
- }
+ api.defaults.withCredentials = true;
+ api.defaults.withXSRFToken = true;
+ api.defaults.xsrfCookieName = 'csrftoken';
+ api.defaults.xsrfHeaderName = 'X-CSRFToken';
}
export const queryClient = new QueryClient();
diff --git a/src/frontend/src/components/charts/tooltipFormatter.tsx b/src/frontend/src/components/charts/tooltipFormatter.tsx
new file mode 100644
index 0000000000..73b3b97703
--- /dev/null
+++ b/src/frontend/src/components/charts/tooltipFormatter.tsx
@@ -0,0 +1,9 @@
+import { formatCurrency } from '../../defaults/formatters';
+
+export function tooltipFormatter(label: any, currency: string) {
+ return (
+ formatCurrency(label, {
+ currency: currency
+ })?.toString() ?? ''
+ );
+}
diff --git a/src/frontend/src/components/forms/ApiForm.tsx b/src/frontend/src/components/forms/ApiForm.tsx
index 4d02009d29..315121efef 100644
--- a/src/frontend/src/components/forms/ApiForm.tsx
+++ b/src/frontend/src/components/forms/ApiForm.tsx
@@ -107,6 +107,8 @@ export function OptionsApiForm({
const optionsQuery = useQuery({
enabled: true,
+ refetchOnMount: false,
+ refetchOnWindowFocus: false,
queryKey: [
'form-options-data',
id,
@@ -181,21 +183,26 @@ export function ApiForm({
props: ApiFormProps;
optionsLoading: boolean;
}) {
+ const fields: ApiFormFieldSet = useMemo(() => {
+ return props.fields ?? {};
+ }, [props.fields]);
+
const defaultValues: FieldValues = useMemo(() => {
- let defaultValuesMap = mapFields(props.fields ?? {}, (_path, field) => {
+ let defaultValuesMap = mapFields(fields ?? {}, (_path, field) => {
return field.value ?? field.default ?? undefined;
});
- // If the user has specified initial data, use that instead
+ // If the user has specified initial data, that overrides default values
+ // But, *only* for the fields we have specified
if (props.initialData) {
- defaultValuesMap = {
- ...defaultValuesMap,
- ...props.initialData
- };
+ Object.keys(props.initialData).map((key) => {
+ if (key in defaultValuesMap) {
+ defaultValuesMap[key] =
+ props?.initialData?.[key] ?? defaultValuesMap[key];
+ }
+ });
}
- // Update the form values, but only for the fields specified for this form
-
return defaultValuesMap;
}, [props.fields, props.initialData]);
@@ -260,14 +267,22 @@ export function ApiForm({
};
// Process API response
- const initialData: any = processFields(
- props.fields ?? {},
- response.data
- );
+ const initialData: any = processFields(fields, response.data);
// Update form values, but only for the fields specified for this form
form.reset(initialData);
+ // Update the field references, too
+ Object.keys(fields).forEach((fieldName) => {
+ if (fieldName in initialData) {
+ let field = fields[fieldName] ?? {};
+ fields[fieldName] = {
+ ...field,
+ value: initialData[fieldName]
+ };
+ }
+ });
+
return response;
} catch (error) {
console.error('Error fetching initial data:', error);
@@ -301,12 +316,12 @@ export function ApiForm({
initialDataQuery.isFetching ||
optionsLoading ||
isSubmitting ||
- !props.fields,
+ !fields,
[
isFormLoading,
initialDataQuery.isFetching,
isSubmitting,
- props.fields,
+ fields,
optionsLoading
]
);
@@ -319,7 +334,7 @@ export function ApiForm({
if (!focusField) {
// If a focus field is not specified, then focus on the first available field
- Object.entries(props.fields ?? {}).forEach(([fieldName, field]) => {
+ Object.entries(fields).forEach(([fieldName, field]) => {
if (focusField || field.read_only || field.disabled || field.hidden) {
return;
}
@@ -334,7 +349,7 @@ export function ApiForm({
form.setFocus(focusField);
setInitialFocus(focusField);
- }, [props.focus, props.fields, form.setFocus, isLoading, initialFocus]);
+ }, [props.focus, fields, form.setFocus, isLoading, initialFocus]);
const submitForm: SubmitHandler = async (data) => {
setNonFieldErrors([]);
@@ -342,7 +357,7 @@ export function ApiForm({
let method = props.method?.toLowerCase() ?? 'get';
let hasFiles = false;
- mapFields(props.fields ?? {}, (_path, field) => {
+ mapFields(fields, (_path, field) => {
if (field.field_type === 'file upload') {
hasFiles = true;
}
@@ -474,16 +489,14 @@ export function ApiForm({
{!optionsLoading &&
- Object.entries(props.fields ?? {}).map(
- ([fieldName, field]) => (
-
- )
- )}
+ Object.entries(fields).map(([fieldName, field]) => (
+
+ ))}
{props.postFormContent}
diff --git a/src/frontend/src/components/forms/AuthenticationForm.tsx b/src/frontend/src/components/forms/AuthenticationForm.tsx
index 31c2d7c28b..c97d24bd29 100644
--- a/src/frontend/src/components/forms/AuthenticationForm.tsx
+++ b/src/frontend/src/components/forms/AuthenticationForm.tsx
@@ -12,16 +12,14 @@ import {
} from '@mantine/core';
import { useForm } from '@mantine/form';
import { useDisclosure } from '@mantine/hooks';
-import { notifications } from '@mantine/notifications';
-import { IconCheck } from '@tabler/icons-react';
import { useState } from 'react';
import { useLocation, useNavigate } from 'react-router-dom';
import { api } from '../../App';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
-import { doBasicLogin, doSimpleLogin } from '../../functions/auth';
+import { doBasicLogin, doSimpleLogin, isLoggedIn } from '../../functions/auth';
+import { showLoginNotification } from '../../functions/notifications';
import { apiUrl, useServerApiState } from '../../states/ApiState';
-import { useSessionState } from '../../states/SessionState';
import { SsoButton } from '../buttons/SSOButton';
export function AuthenticationForm() {
@@ -46,19 +44,18 @@ export function AuthenticationForm() {
).then(() => {
setIsLoggingIn(false);
- if (useSessionState.getState().hasToken()) {
- notifications.show({
+ if (isLoggedIn()) {
+ showLoginNotification({
title: t`Login successful`,
- message: t`Welcome back!`,
- color: 'green',
- icon:
+ message: t`Logged in successfully`
});
+
navigate(location?.state?.redirectFrom ?? '/home');
} else {
- notifications.show({
+ showLoginNotification({
title: t`Login failed`,
message: t`Check your input and try again.`,
- color: 'red'
+ success: false
});
}
});
@@ -67,18 +64,15 @@ export function AuthenticationForm() {
setIsLoggingIn(false);
if (ret?.status === 'ok') {
- notifications.show({
+ showLoginNotification({
title: t`Mail delivery successful`,
- message: t`Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too.`,
- color: 'green',
- icon: ,
- autoClose: false
+ message: t`Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too.`
});
} else {
- notifications.show({
- title: t`Input error`,
+ showLoginNotification({
+ title: t`Mail delivery failed`,
message: t`Check your input and try again.`,
- color: 'red'
+ success: false
});
}
});
@@ -193,11 +187,9 @@ export function RegistrationForm() {
.then((ret) => {
if (ret?.status === 204) {
setIsRegistering(false);
- notifications.show({
+ showLoginNotification({
title: t`Registration successful`,
- message: t`Please confirm your email address to complete the registration`,
- color: 'green',
- icon:
+ message: t`Please confirm your email address to complete the registration`
});
navigate('/home');
}
@@ -212,11 +204,10 @@ export function RegistrationForm() {
if (err.response?.data?.non_field_errors) {
err_msg = err.response.data.non_field_errors;
}
- notifications.show({
+ showLoginNotification({
title: t`Input error`,
message: t`Check your input and try again. ` + err_msg,
- color: 'red',
- autoClose: 30000
+ success: false
});
}
});
diff --git a/src/frontend/src/components/forms/fields/ApiFormField.tsx b/src/frontend/src/components/forms/fields/ApiFormField.tsx
index 70e73ca5d6..9d098f0abb 100644
--- a/src/frontend/src/components/forms/fields/ApiFormField.tsx
+++ b/src/frontend/src/components/forms/fields/ApiFormField.tsx
@@ -15,6 +15,7 @@ import { useMemo } from 'react';
import { Control, FieldValues, useController } from 'react-hook-form';
import { ModelType } from '../../../enums/ModelType';
+import { isTrue } from '../../../functions/conversion';
import { ChoiceField } from './ChoiceField';
import DateField from './DateField';
import { NestedObjectField } from './NestedObjectField';
@@ -210,7 +211,7 @@ export function ApiFormField({
id={fieldId}
radius="lg"
size="sm"
- checked={value ?? false}
+ checked={isTrue(value)}
error={error?.message}
onChange={(event) => onChange(event.currentTarget.checked)}
/>
diff --git a/src/frontend/src/components/images/ApiImage.tsx b/src/frontend/src/components/images/ApiImage.tsx
index d8f457b427..ce123f2ed3 100644
--- a/src/frontend/src/components/images/ApiImage.tsx
+++ b/src/frontend/src/components/images/ApiImage.tsx
@@ -1,71 +1,27 @@
/**
- * Component for loading an image from the InvenTree server,
- * using the API's token authentication.
+ * Component for loading an image from the InvenTree server
*
* Image caching is handled automagically by the browsers cache
*/
import { Image, ImageProps, Skeleton, Stack } from '@mantine/core';
-import { useId } from '@mantine/hooks';
-import { useQuery } from '@tanstack/react-query';
-import { useState } from 'react';
+import { useMemo } from 'react';
-import { api } from '../../App';
+import { useLocalState } from '../../states/LocalState';
/**
* Construct an image container which will load and display the image
*/
export function ApiImage(props: ImageProps) {
- const [image, setImage] = useState('');
+ const { host } = useLocalState.getState();
- const [authorized, setAuthorized] = useState(true);
-
- const queryKey = useId();
-
- const _imgQuery = useQuery({
- queryKey: ['image', queryKey, props.src],
- enabled:
- authorized &&
- props.src != undefined &&
- props.src != null &&
- props.src != '',
- queryFn: async () => {
- if (!props.src) {
- return null;
- }
- return api
- .get(props.src, {
- responseType: 'blob'
- })
- .then((response) => {
- switch (response.status) {
- case 200:
- let img = new Blob([response.data], {
- type: response.headers['content-type']
- });
- let url = URL.createObjectURL(img);
- setImage(url);
- break;
- default:
- // User is not authorized to view this image, or the image is not available
- setImage('');
- setAuthorized(false);
- break;
- }
-
- return response;
- })
- .catch((_error) => {
- return null;
- });
- },
- refetchOnMount: true,
- refetchOnWindowFocus: false
- });
+ const imageUrl = useMemo(() => {
+ return `${host}${props.src}`;
+ }, [host, props.src]);
return (
- {image && image.length > 0 ? (
-
+ {imageUrl ? (
+
) : (
s.host);
+
+ const url = useMemo(() => {
+ if (external) {
+ return attachment;
+ }
+
+ return `${host}${attachment}`;
+ }, [host, attachment, external]);
+
return (
{external ? : attachmentIcon(attachment)}
-
+
{text}
diff --git a/src/frontend/src/components/nav/Layout.tsx b/src/frontend/src/components/nav/Layout.tsx
index 91a6cd00c6..c9a4c436b3 100644
--- a/src/frontend/src/components/nav/Layout.tsx
+++ b/src/frontend/src/components/nav/Layout.tsx
@@ -6,17 +6,15 @@ import { useEffect, useState } from 'react';
import { Navigate, Outlet, useLocation, useNavigate } from 'react-router-dom';
import { getActions } from '../../defaults/actions';
+import { isLoggedIn } from '../../functions/auth';
import { InvenTreeStyle } from '../../globalStyle';
-import { useSessionState } from '../../states/SessionState';
import { Footer } from './Footer';
import { Header } from './Header';
export const ProtectedRoute = ({ children }: { children: JSX.Element }) => {
- const [token] = useSessionState((state) => [state.token]);
-
const location = useLocation();
- if (!token) {
+ if (!isLoggedIn()) {
return (
);
diff --git a/src/frontend/src/components/render/StatusRenderer.tsx b/src/frontend/src/components/render/StatusRenderer.tsx
index c737c7e905..78fb3f9414 100644
--- a/src/frontend/src/components/render/StatusRenderer.tsx
+++ b/src/frontend/src/components/render/StatusRenderer.tsx
@@ -74,13 +74,7 @@ export const StatusRenderer = ({
}) => {
const statusCodeList = useGlobalStatusState.getState().status;
- if (status === undefined) {
- console.log('StatusRenderer: status is undefined');
- return null;
- }
-
- if (statusCodeList === undefined) {
- console.log('StatusRenderer: statusCodeList is undefined');
+ if (status === undefined || statusCodeList === undefined) {
return null;
}
diff --git a/src/frontend/src/enums/ApiEndpoints.tsx b/src/frontend/src/enums/ApiEndpoints.tsx
index 821bbd973e..dd5fab30da 100644
--- a/src/frontend/src/enums/ApiEndpoints.tsx
+++ b/src/frontend/src/enums/ApiEndpoints.tsx
@@ -15,14 +15,15 @@ export enum ApiEndpoints {
user_roles = 'user/roles/',
user_token = 'user/token/',
user_simple_login = 'email/generate/',
- user_reset = 'auth/password/reset/', // Note leading prefix here
- user_reset_set = 'auth/password/reset/confirm/', // Note leading prefix here
+ user_reset = 'auth/password/reset/',
+ user_reset_set = 'auth/password/reset/confirm/',
user_sso = 'auth/social/',
user_sso_remove = 'auth/social/:id/disconnect/',
user_emails = 'auth/emails/',
user_email_remove = 'auth/emails/:id/remove/',
user_email_verify = 'auth/emails/:id/verify/',
user_email_primary = 'auth/emails/:id/primary/',
+ user_login = 'auth/login/',
user_logout = 'auth/logout/',
user_register = 'auth/registration/',
diff --git a/src/frontend/src/forms/BuildForms.tsx b/src/frontend/src/forms/BuildForms.tsx
index b89bed64fd..dd4523a6bc 100644
--- a/src/frontend/src/forms/BuildForms.tsx
+++ b/src/frontend/src/forms/BuildForms.tsx
@@ -7,57 +7,64 @@ import {
IconUser,
IconUsersGroup
} from '@tabler/icons-react';
+import { useMemo } from 'react';
import { ApiFormFieldSet } from '../components/forms/fields/ApiFormField';
/**
* Field set for BuildOrder forms
*/
-export function buildOrderFields(): ApiFormFieldSet {
- return {
- reference: {},
- part: {
- filters: {
- assembly: true,
- virtual: false
+export function useBuildOrderFields({
+ create
+}: {
+ create: boolean;
+}): ApiFormFieldSet {
+ return useMemo(() => {
+ return {
+ reference: {},
+ part: {
+ filters: {
+ assembly: true,
+ virtual: false
+ }
+ },
+ title: {},
+ quantity: {},
+ project_code: {
+ icon:
+ },
+ priority: {},
+ parent: {
+ icon: ,
+ filters: {
+ part_detail: true
+ }
+ },
+ sales_order: {
+ icon:
+ },
+ batch: {},
+ target_date: {
+ icon:
+ },
+ take_from: {},
+ destination: {
+ filters: {
+ structural: false
+ }
+ },
+ link: {
+ icon:
+ },
+ issued_by: {
+ icon:
+ },
+ responsible: {
+ icon: ,
+ filters: {
+ is_active: true
+ }
}
- },
- title: {},
- quantity: {},
- project_code: {
- icon:
- },
- priority: {},
- parent: {
- icon: ,
- filters: {
- part_detail: true
- }
- },
- sales_order: {
- icon:
- },
- batch: {},
- target_date: {
- icon:
- },
- take_from: {},
- destination: {
- filters: {
- structural: false
- }
- },
- link: {
- icon:
- },
- issued_by: {
- icon:
- },
- responsible: {
- icon: ,
- filters: {
- is_active: true
- }
- }
- };
+ };
+ }, [create]);
}
diff --git a/src/frontend/src/forms/CompanyForms.tsx b/src/frontend/src/forms/CompanyForms.tsx
index 08212b3773..50b5d77190 100644
--- a/src/frontend/src/forms/CompanyForms.tsx
+++ b/src/frontend/src/forms/CompanyForms.tsx
@@ -10,34 +10,21 @@ import {
} from '@tabler/icons-react';
import { useEffect, useMemo, useState } from 'react';
-import { ApiFormFieldSet } from '../components/forms/fields/ApiFormField';
+import {
+ ApiFormAdjustFilterType,
+ ApiFormFieldSet
+} from '../components/forms/fields/ApiFormField';
/**
* Field set for SupplierPart instance
*/
-export function useSupplierPartFields({
- partPk,
- supplierPk,
- hidePart
-}: {
- partPk?: number;
- supplierPk?: number;
- hidePart?: boolean;
-}) {
- const [part, setPart] = useState(partPk);
-
- useEffect(() => {
- setPart(partPk);
- }, [partPk]);
-
+export function useSupplierPartFields() {
return useMemo(() => {
const fields: ApiFormFieldSet = {
part: {
- hidden: hidePart,
- value: part,
- onValueChange: setPart,
filters: {
- purchaseable: true
+ purchaseable: true,
+ active: true
}
},
manufacturer_part: {
@@ -45,15 +32,18 @@ export function useSupplierPartFields({
part_detail: true,
manufacturer_detail: true
},
- adjustFilters: (filters: any) => {
- if (part) {
- filters.part = part;
- }
-
- return filters;
+ adjustFilters: (adjust: ApiFormAdjustFilterType) => {
+ return {
+ ...adjust.filters,
+ part: adjust.data.part
+ };
+ }
+ },
+ supplier: {
+ filters: {
+ active: true
}
},
- supplier: {},
SKU: {
icon:
},
@@ -67,15 +57,12 @@ export function useSupplierPartFields({
pack_quantity: {},
packaging: {
icon:
- }
+ },
+ active: {}
};
- if (supplierPk !== undefined) {
- fields.supplier.value = supplierPk;
- }
-
return fields;
- }, [part]);
+ }, []);
}
export function useManufacturerPartFields() {
@@ -125,6 +112,7 @@ export function companyFields(): ApiFormFieldSet {
},
is_supplier: {},
is_manufacturer: {},
- is_customer: {}
+ is_customer: {},
+ active: {}
};
}
diff --git a/src/frontend/src/forms/PurchaseOrderForms.tsx b/src/frontend/src/forms/PurchaseOrderForms.tsx
index b89fe2af23..930e729571 100644
--- a/src/frontend/src/forms/PurchaseOrderForms.tsx
+++ b/src/frontend/src/forms/PurchaseOrderForms.tsx
@@ -37,8 +37,12 @@ import { apiUrl } from '../states/ApiState';
* Construct a set of fields for creating / editing a PurchaseOrderLineItem instance
*/
export function usePurchaseOrderLineItemFields({
+ supplierId,
+ orderId,
create
}: {
+ supplierId?: number;
+ orderId?: number;
create?: boolean;
}) {
const [purchasePrice, setPurchasePrice] = useState('');
@@ -60,16 +64,20 @@ export function usePurchaseOrderLineItemFields({
filters: {
supplier_detail: true
},
- hidden: true
+ disabled: true
},
part: {
filters: {
part_detail: true,
- supplier_detail: true
+ supplier_detail: true,
+ active: true,
+ part_active: true
},
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- // TODO: Adjust part based on the supplier associated with the supplier
- return value.filters;
+ adjustFilters: (adjust: ApiFormAdjustFilterType) => {
+ return {
+ ...adjust.filters,
+ supplier: supplierId
+ };
}
},
quantity: {},
@@ -105,7 +113,7 @@ export function usePurchaseOrderLineItemFields({
}
return fields;
- }, [create, autoPricing, purchasePrice]);
+ }, [create, orderId, supplierId, autoPricing, purchasePrice]);
return fields;
}
@@ -113,50 +121,53 @@ export function usePurchaseOrderLineItemFields({
/**
* Construct a set of fields for creating / editing a PurchaseOrder instance
*/
-export function purchaseOrderFields(): ApiFormFieldSet {
- return {
- reference: {
- icon:
- },
- description: {},
- supplier: {
- filters: {
- is_supplier: true
+export function usePurchaseOrderFields(): ApiFormFieldSet {
+ return useMemo(() => {
+ return {
+ reference: {
+ icon:
+ },
+ description: {},
+ supplier: {
+ filters: {
+ is_supplier: true,
+ active: true
+ }
+ },
+ supplier_reference: {},
+ project_code: {
+ icon:
+ },
+ order_currency: {
+ icon:
+ },
+ target_date: {
+ icon:
+ },
+ link: {},
+ contact: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.supplier
+ };
+ }
+ },
+ address: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.supplier
+ };
+ }
+ },
+ responsible: {
+ icon:
}
- },
- supplier_reference: {},
- project_code: {
- icon:
- },
- order_currency: {
- icon:
- },
- target_date: {
- icon:
- },
- link: {},
- contact: {
- icon: ,
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- return {
- ...value.filters,
- company: value.data.supplier
- };
- }
- },
- address: {
- icon: ,
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- return {
- ...value.filters,
- company: value.data.supplier
- };
- }
- },
- responsible: {
- icon:
- }
- };
+ };
+ }, []);
}
/**
diff --git a/src/frontend/src/forms/SalesOrderForms.tsx b/src/frontend/src/forms/SalesOrderForms.tsx
index fcaa25f94f..9c97f13201 100644
--- a/src/frontend/src/forms/SalesOrderForms.tsx
+++ b/src/frontend/src/forms/SalesOrderForms.tsx
@@ -1,44 +1,89 @@
import { IconAddressBook, IconUser, IconUsers } from '@tabler/icons-react';
+import { useMemo } from 'react';
import {
ApiFormAdjustFilterType,
ApiFormFieldSet
} from '../components/forms/fields/ApiFormField';
-export function salesOrderFields(): ApiFormFieldSet {
- return {
- reference: {},
- description: {},
- customer: {
- filters: {
- is_customer: true
+export function useSalesOrderFields(): ApiFormFieldSet {
+ return useMemo(() => {
+ return {
+ reference: {},
+ description: {},
+ customer: {
+ filters: {
+ is_customer: true,
+ active: true
+ }
+ },
+ customer_reference: {},
+ project_code: {},
+ order_currency: {},
+ target_date: {},
+ link: {},
+ contact: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.customer
+ };
+ }
+ },
+ address: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.customer
+ };
+ }
+ },
+ responsible: {
+ icon:
}
- },
- customer_reference: {},
- project_code: {},
- order_currency: {},
- target_date: {},
- link: {},
- contact: {
- icon: ,
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- return {
- ...value.filters,
- company: value.data.customer
- };
- }
- },
- address: {
- icon: ,
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- return {
- ...value.filters,
- company: value.data.customer
- };
- }
- },
- responsible: {
- icon:
- }
- };
+ };
+ }, []);
+}
+
+export function useReturnOrderFields(): ApiFormFieldSet {
+ return useMemo(() => {
+ return {
+ reference: {},
+ description: {},
+ customer: {
+ filters: {
+ is_customer: true,
+ active: true
+ }
+ },
+ customer_reference: {},
+ project_code: {},
+ order_currency: {},
+ target_date: {},
+ link: {},
+ contact: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.customer
+ };
+ }
+ },
+ address: {
+ icon: ,
+ adjustFilters: (value: ApiFormAdjustFilterType) => {
+ return {
+ ...value.filters,
+ company: value.data.customer
+ };
+ }
+ },
+ responsible: {
+ icon:
+ }
+ };
+ }, []);
}
diff --git a/src/frontend/src/forms/StockForms.tsx b/src/frontend/src/forms/StockForms.tsx
index 9325d97b0c..fc023688af 100644
--- a/src/frontend/src/forms/StockForms.tsx
+++ b/src/frontend/src/forms/StockForms.tsx
@@ -39,7 +39,7 @@ export function useStockFields({
const fields: ApiFormFieldSet = {
part: {
value: part,
- hidden: !create,
+ disabled: !create,
onValueChange: (change) => {
setPart(change);
// TODO: implement remaining functionality from old stock.py
@@ -57,12 +57,12 @@ export function useStockFields({
supplier_detail: true,
...(part ? { part } : {})
},
- adjustFilters: (value: ApiFormAdjustFilterType) => {
- if (value.data.part) {
- value.filters['part'] = value.data.part;
+ adjustFilters: (adjust: ApiFormAdjustFilterType) => {
+ if (adjust.data.part) {
+ adjust.filters['part'] = adjust.data.part;
}
- return value.filters;
+ return adjust.filters;
}
},
use_pack_size: {
@@ -137,29 +137,6 @@ export function useCreateStockItem() {
});
}
-/**
- * Launch a form to edit an existing StockItem instance
- * @param item : primary key of the StockItem to edit
- */
-export function useEditStockItem({
- item_id,
- callback
-}: {
- item_id: number;
- callback?: () => void;
-}) {
- const fields = useStockFields({ create: false });
-
- return useEditApiFormModal({
- url: ApiEndpoints.stock_item_list,
- pk: item_id,
- fields: fields,
- title: t`Edit Stock Item`,
- successMessage: t`Stock item updated`,
- onFormSuccess: callback
- });
-}
-
function StockItemDefaultMove({
stockItem,
value
diff --git a/src/frontend/src/functions/auth.tsx b/src/frontend/src/functions/auth.tsx
index d0f010e9c2..c1d7dbd7ac 100644
--- a/src/frontend/src/functions/auth.tsx
+++ b/src/frontend/src/functions/auth.tsx
@@ -1,15 +1,13 @@
import { t } from '@lingui/macro';
import { notifications } from '@mantine/notifications';
-import { IconCheck } from '@tabler/icons-react';
import axios from 'axios';
import { api, setApiDefaults } from '../App';
import { ApiEndpoints } from '../enums/ApiEndpoints';
import { apiUrl } from '../states/ApiState';
import { useLocalState } from '../states/LocalState';
-import { useSessionState } from '../states/SessionState';
-
-const tokenName: string = 'inventree-web-app';
+import { fetchGlobalStates } from '../states/states';
+import { showLoginNotification } from './notifications';
/**
* Attempt to login using username:password combination.
@@ -24,26 +22,35 @@ export const doBasicLogin = async (username: string, password: string) => {
return;
}
- // At this stage, we can assume that we are not logged in, and we have no token
- useSessionState.getState().clearToken();
+ clearCsrfCookie();
- // Request new token from the server
- await axios
- .get(apiUrl(ApiEndpoints.user_token), {
- auth: { username, password },
- baseURL: host,
- timeout: 2000,
- params: {
- name: tokenName
+ const login_url = apiUrl(ApiEndpoints.user_login);
+
+ // Attempt login with
+ await api
+ .post(
+ login_url,
+ {
+ username: username,
+ password: password
+ },
+ {
+ baseURL: host
}
- })
+ )
.then((response) => {
- if (response.status == 200 && response.data.token) {
- // A valid token has been returned - save, and login
- useSessionState.getState().setToken(response.data.token);
+ switch (response.status) {
+ case 200:
+ fetchGlobalStates();
+ break;
+ default:
+ clearCsrfCookie();
+ break;
}
})
- .catch(() => {});
+ .catch(() => {
+ clearCsrfCookie();
+ });
};
/**
@@ -53,27 +60,15 @@ export const doBasicLogin = async (username: string, password: string) => {
*/
export const doLogout = async (navigate: any) => {
// Logout from the server session
- await api.post(apiUrl(ApiEndpoints.user_logout)).catch(() => {
- // If an error occurs here, we are likely already logged out
+ await api.post(apiUrl(ApiEndpoints.user_logout)).finally(() => {
+ clearCsrfCookie();
navigate('/login');
- return;
+
+ showLoginNotification({
+ title: t`Logged Out`,
+ message: t`Successfully logged out`
+ });
});
-
- // Logout from this session
- // Note that clearToken() then calls setApiDefaults()
- clearCsrfCookie();
- useSessionState.getState().clearToken();
-
- notifications.hide('login');
- notifications.show({
- id: 'login',
- title: t`Logout successful`,
- message: t`You have been logged out`,
- color: 'green',
- icon:
- });
-
- navigate('/login');
};
export const doSimpleLogin = async (email: string) => {
@@ -134,55 +129,33 @@ export function checkLoginState(
) {
setApiDefaults();
+ if (redirect == '/') {
+ redirect = '/home';
+ }
+
// Callback function when login is successful
const loginSuccess = () => {
- notifications.hide('login');
- notifications.show({
- id: 'login',
+ showLoginNotification({
title: t`Logged In`,
- message: t`Found an existing login - welcome back!`,
- color: 'green',
- icon:
+ message: t`Successfully logged in`
});
+
navigate(redirect ?? '/home');
};
// Callback function when login fails
const loginFailure = () => {
- useSessionState.getState().clearToken();
if (!no_redirect) {
navigate('/login', { state: { redirectFrom: redirect } });
}
};
- if (useSessionState.getState().hasToken()) {
- // An existing token is available - check if it works
+ // Check the 'user_me' endpoint to see if the user is logged in
+ if (isLoggedIn()) {
api
- .get(apiUrl(ApiEndpoints.user_me), {
- timeout: 2000
- })
- .then((val) => {
- if (val.status === 200) {
- // Success: we are logged in (and we already have a token)
- loginSuccess();
- } else {
- loginFailure();
- }
- })
- .catch(() => {
- loginFailure();
- });
- } else if (getCsrfCookie()) {
- // Try to fetch a new token using the CSRF cookie
- api
- .get(apiUrl(ApiEndpoints.user_token), {
- params: {
- name: tokenName
- }
- })
+ .get(apiUrl(ApiEndpoints.user_me))
.then((response) => {
- if (response.status == 200 && response.data.token) {
- useSessionState.getState().setToken(response.data.token);
+ if (response.status == 200) {
loginSuccess();
} else {
loginFailure();
@@ -192,7 +165,6 @@ export function checkLoginState(
loginFailure();
});
} else {
- // No token, no cookie - redirect to login page
loginFailure();
}
}
@@ -209,8 +181,12 @@ export function getCsrfCookie() {
return cookieValue;
}
+export function isLoggedIn() {
+ return !!getCsrfCookie();
+}
+
/*
- * Clear out the CSRF cookie (force session logout)
+ * Clear out the CSRF and session cookies (force session logout)
*/
export function clearCsrfCookie() {
document.cookie =
diff --git a/src/frontend/src/functions/conversion.tsx b/src/frontend/src/functions/conversion.tsx
index 1ad406570e..afc4e536d2 100644
--- a/src/frontend/src/functions/conversion.tsx
+++ b/src/frontend/src/functions/conversion.tsx
@@ -19,3 +19,16 @@ export function isTrue(value: any): boolean {
return ['true', 'yes', '1', 'on', 't', 'y'].includes(s);
}
+
+/*
+ * Resolve a nested item in an object.
+ * Returns the resolved item, if it exists.
+ *
+ * e.g. resolveItem(data, "sub.key.accessor")
+ *
+ * Allows for retrieval of nested items in an object.
+ */
+export function resolveItem(obj: any, path: string): any {
+ let properties = path.split('.');
+ return properties.reduce((prev, curr) => prev?.[curr], obj);
+}
diff --git a/src/frontend/src/functions/icons.tsx b/src/frontend/src/functions/icons.tsx
index 6d8b0bed1d..b362d08ce5 100644
--- a/src/frontend/src/functions/icons.tsx
+++ b/src/frontend/src/functions/icons.tsx
@@ -7,6 +7,7 @@ import {
IconBuilding,
IconBuildingFactory2,
IconBuildingStore,
+ IconBusinessplan,
IconCalendar,
IconCalendarStats,
IconCategory,
@@ -100,6 +101,7 @@ const icons = {
info: IconInfoCircle,
details: IconInfoCircle,
parameters: IconList,
+ list: IconList,
stock: IconPackages,
variants: IconVersions,
allocations: IconBookmarks,
@@ -171,6 +173,7 @@ const icons = {
customer: IconUser,
quantity: IconNumbers,
progress: IconProgressCheck,
+ total_cost: IconBusinessplan,
reference: IconHash,
serial: IconHash,
website: IconWorld,
diff --git a/src/frontend/src/functions/notifications.tsx b/src/frontend/src/functions/notifications.tsx
index 9682e8738c..0306d1d92c 100644
--- a/src/frontend/src/functions/notifications.tsx
+++ b/src/frontend/src/functions/notifications.tsx
@@ -1,5 +1,6 @@
import { t } from '@lingui/macro';
import { notifications } from '@mantine/notifications';
+import { IconCircleCheck, IconExclamationCircle } from '@tabler/icons-react';
/**
* Show a notification that the feature is not yet implemented
@@ -34,3 +35,28 @@ export function invalidResponse(returnCode: number) {
color: 'red'
});
}
+
+/*
+ * Display a login / logout notification message.
+ * Any existing login notification(s) will be hidden.
+ */
+export function showLoginNotification({
+ title,
+ message,
+ success = true
+}: {
+ title: string;
+ message: string;
+ success?: boolean;
+}) {
+ notifications.hide('login');
+
+ notifications.show({
+ title: title,
+ message: message,
+ color: success ? 'green' : 'red',
+ icon: success ? : ,
+ id: 'login',
+ autoClose: 5000
+ });
+}
diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po
index 55f9f9680f..5795f45f99 100644
--- a/src/frontend/src/locales/bg/messages.po
+++ b/src/frontend/src/locales/bg/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: bg\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po
index fdcfd0808d..2916ccd046 100644
--- a/src/frontend/src/locales/cs/messages.po
+++ b/src/frontend/src/locales/cs/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: cs\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr "Odstranit přidružený obrázek z této položky?"
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr "Odstranit"
@@ -82,7 +82,7 @@ msgstr "Odstranit"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Zrušit"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Vymazat"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr "Součást není aktivní"
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr "Neaktivní"
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr "Část je virtuální (nikoli fyzická část)"
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuální"
@@ -246,32 +249,32 @@ msgstr "náhled"
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Chyba formuláře"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Dokončeno"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Došlo k chybám formuláře"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Aktualizovat"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Odstranit"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Přihlášení úspěšné"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Vítejte zpět!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Přihlášení se nezdařilo"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Uživatelské jméno"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Vaše uživatelské jméno"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Heslo"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Vaše heslo"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Obnovit heslo"
@@ -362,73 +368,77 @@ msgstr "Obnovit heslo"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "E-mail"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Zašleme vám přihlašovací odkaz - pokud jste registrováni"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Přihlásit se"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Odeslat e-mail"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Registrace proběhla úspěšně"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Potvrďte, prosím, svou e-mailovou adresu pro dokončení registrace"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Opakujte heslo"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Zadejte heslo znova"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "Registrovat"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Nebo použijte SSO"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Nemáte účet?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Zpět na přihlášení"
@@ -440,7 +450,7 @@ msgstr "Server"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Název: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Chyba"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Hledat"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Načítání"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Nebyly nalezeny žádné výsledky"
@@ -535,12 +546,12 @@ msgstr "Nejsou žádné záznamy"
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Náhled"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr "Akce čárového kódu"
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr "Přiřadit vlatní čárový kód"
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr "Odstranit čárový kód"
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr "Smazat položku"
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr "Duplikovat"
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "Zjistit více"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Neznámá chyba"
@@ -871,12 +881,12 @@ msgstr "Verze"
msgid "Server Version"
msgstr "Verze serveru"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr "Hledat..."
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr "Nic nenalezeno..."
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "Díl"
@@ -1056,7 +1065,7 @@ msgstr "Díl"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Díly"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr "Dodavatel dílu"
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr "Skladová položka"
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr "Firma"
@@ -1170,15 +1179,16 @@ msgstr "Kódy projektu"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr "Adresa"
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr "Adresy"
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr "Kontakt"
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr "Kontakty"
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr "Zásoby"
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr "Sériové číslo"
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Množství"
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Webová stránka"
@@ -2073,8 +2082,8 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr "Nákup"
@@ -2082,9 +2091,9 @@ msgstr "Nákup"
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr "Prodej"
@@ -2287,75 +2296,75 @@ msgstr "Nadřazená kategorie"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr "Zvolte umístění"
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr "Cíl položky byl vybrán"
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr "Nastavit umístění"
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr "Lokace"
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "Na skladě"
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr "Přesunout"
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr "Akce"
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr "Přidat"
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr "Počet"
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr "Přihlášen"
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr "Přihlášen"
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr "Nic nevybráno"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr "Hlášení"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr "Hlášení"
@@ -3189,7 +3211,7 @@ msgstr "Hlášení"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr "Čárové kódy"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Ceník"
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr "Označit jako nepřečtenou"
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Stav"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr "Reference"
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr "Reference"
msgid "Description"
msgstr "Popis"
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr "Upravit společnost"
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po
index 8f6a596292..cf79d951c3 100644
--- a/src/frontend/src/locales/da/messages.po
+++ b/src/frontend/src/locales/da/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: da\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po
index 7ef6841d35..5f8b048f2d 100644
--- a/src/frontend/src/locales/de/messages.po
+++ b/src/frontend/src/locales/de/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: de\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr "Verknüpftes Bild von diesem Teil entfernen?"
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr "Entfernen"
@@ -82,7 +82,7 @@ msgstr "Entfernen"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Abbrechen"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Leeren"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr "Teil ist nicht aktiv"
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr "Inaktiv"
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr "Teil ist virtuell (kein physischer Gegenstand)"
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuell"
@@ -246,32 +249,32 @@ msgstr "zur Vorschau"
msgid "Error rendering template"
msgstr "Fehler bei Darstellung der Vorlage"
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Formularfehler"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Abgeschlossen"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Formularfehler vorhanden"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Aktualisieren"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Löschen"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Anmeldung erfolgreich"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Willkommen zurück!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Login fehlgeschlagen"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut."
@@ -314,46 +321,45 @@ msgstr "Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Mail erfolgreich gesendet"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Prüfen Sie Ihren Posteingang auf den Anmeldelink. Wenn Sie ein Konto haben, erhalten Sie einen Anmeldelink. Prüfen Sie auch den Spam."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Eingabefehler"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr "Oder mit anderen Methoden fortfahren"
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Nutzername"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Ihr Benutzername"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Passwort"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Dein Passwort"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Passwort zurücksetzen"
@@ -362,73 +368,77 @@ msgstr "Passwort zurücksetzen"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Mail"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Wir werden Ihnen einen Link für die Anmeldung senden"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Mail erhalten"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Benutzername und Passwort benutzen"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Anmelden"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "E-Mail senden"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Registrierung erfolgreich"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Bitte bestätigen Sie Ihre E-Mail-Adresse um die Registrierung abzuschließen"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Eingabefehler"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr "Dies wird zur Bestätigung verwendet"
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Passwort wiederholen"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Passwort erneut eingeben"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "Registrieren"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Oder SSO verwenden"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Nicht registriert?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Zurück zur Anmeldung"
@@ -440,7 +450,7 @@ msgstr "Adresse"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Name: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Status: <0>worker0> ({0}), <1>Plugins1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Fehler"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Suche"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Wird geladen"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Keine Ergebnisse gefunden"
@@ -535,12 +546,12 @@ msgstr "Keine Einträge vorhanden"
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Vorschaubild"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr "Barcode-Aktionen"
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr "Benutzerdefinierter Barcode verknüpfen"
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr "Verknüpfung des Barcodes aufheben"
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr "Element löschen"
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr "Duplizieren"
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "Mehr lesen"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Unbekannter Fehler"
@@ -871,12 +881,12 @@ msgstr "Version"
msgid "Server Version"
msgstr "Serverversion"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr "Unbekanntes Modell: {model}"
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "Teil"
@@ -1056,7 +1065,7 @@ msgstr "Teil"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Teile"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr "Testvorlagen für Teil"
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr "Zuliefererteil"
@@ -1104,12 +1113,12 @@ msgstr "Teilkategorie"
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr "Lagerartikel"
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr "Firma"
@@ -1170,15 +1179,16 @@ msgstr "Projektnummern"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr "Einkaufsbestellung"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Nachbestellungen"
@@ -1193,16 +1203,16 @@ msgstr "Bestellpositionen"
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr "Verkaufsauftrag"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Aufträge"
@@ -1217,13 +1227,13 @@ msgstr "Versand der Bestellungen"
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr "Rückgabe Auftrag"
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Reklamationen"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr "Adresse"
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr "Adressen"
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr "Kontakt"
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr "Kontakte"
@@ -1276,24 +1286,27 @@ msgstr "Sendung"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr "Lager"
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr "Seriennummer"
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Anzahl"
@@ -1707,10 +1720,6 @@ msgstr "Keine Einstellungen angegeben"
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr "Kürzlich aktualisiert"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Geringer Bestand"
@@ -2056,7 +2065,7 @@ msgstr "Aktuelles"
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Webseite"
@@ -2073,8 +2082,8 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr "Einkauf"
@@ -2082,9 +2091,9 @@ msgstr "Einkauf"
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr "Verkäufe"
@@ -2287,75 +2296,75 @@ msgstr "Übergeordnete Teilkategorie"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr "Lagerort wählen"
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr "Teile-Zielort ausgewählt"
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr "Standard-Lagerort der Teile-Kategorie ausgewählt"
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr "Lagerort zuvor empfangener Artikel ausgewählt"
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr "Standard-Lagerort ausgewählt"
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr "Barcode scannen"
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr "Lagerort festlegen"
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr "Status ändern"
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr "Artikel aus Liste entfernen"
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr "Lagerort"
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr "Am Standard-Lagerort einbuchen"
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr "Bei bereits vorhandenen Lagerbestand einbuchen"
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr "Lagerartikel hinzufügen"
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr "Lagerartikel bearbeiten"
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr "Lagerartikel aktualisiert"
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "Auf Lager"
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr "Aktionen"
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr "Hinzufügen"
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr "Anzahl"
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr "Bestand zählen"
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr "Übergeordneter Lagerort"
@@ -2486,38 +2492,50 @@ msgstr "Übergeordneter Lagerort"
#~ msgid "See you soon."
#~ msgstr "See you soon."
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
+msgstr ""
+
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Abmeldung erfolgreich"
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr "Sie wurden abgemeldet"
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Prüfen Sie Ihren Posteingang für einen Link zum Zurücksetzen. Dies funktioniert nur, wenn Sie ein Konto haben. Prüfen Sie auch den Spam-Ordner."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Zurücksetzen fehlgeschlagen"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr "Angemeldet"
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr "Angemeldet"
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr "Bestehende Anmeldung gefunden - Willkommen zurück!"
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr "Ungültiges Formular"
msgid "method parameter not supplied"
msgstr "methodenparameter nicht angegeben"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Nicht implementiert"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Diese Funktion wurde noch nicht implementiert"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Zugriff verweigert"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "Du hast keine Berechtigung, diese Aktion durchzuführen"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Ungültiger Rückgabecode"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr "Prüfe ob Sie bereits angemeldet sind"
msgid "No selection"
msgstr "Keine Auswahl"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Willkommen, unten anmelden"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr "Registrieren"
@@ -2596,6 +2614,10 @@ msgstr "Registrieren"
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr "Melden"
@@ -3189,7 +3211,7 @@ msgstr "Melden"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr "Stückliste"
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr "Barcode"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Preise"
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr "Berichte"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr "Inventur"
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr "Als ungelesen markieren"
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Status"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr "Beschreibung"
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr "Fertiggestellte Endprodukte"
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr "Verantwortlich"
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr "Unvollständige Endprodukte"
@@ -3432,48 +3452,48 @@ msgstr "Unvollständige Endprodukte"
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr "Anhänge"
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr "Notizen"
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr "Berichte-Aktionen"
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr "Bauauftrag-Aktionen"
@@ -3485,51 +3505,56 @@ msgstr "Bauauftrag-Aktionen"
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Lieferant"
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr "Hersteller"
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr "Kunde"
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr "Details"
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr "Hergestellte Teile"
@@ -3537,7 +3562,7 @@ msgstr "Hergestellte Teile"
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr "Zugeordneter Bestand"
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr "Unternehmen bearbeiten"
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr "Firmen-Aktionen"
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr "Herstellerteil Details"
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr "Parameter"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Lieferanten"
@@ -3605,58 +3631,70 @@ msgstr "Herstellerteil Aktionen"
msgid "ManufacturerPart"
msgstr "Herstellerteil"
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr "Notiz"
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr "Art.-Nr."
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr "Verpackung"
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr "Verpackungsmenge"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr "Lieferantenverfügbarkeit"
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr "Verfügbarkeit aktualisiert"
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr "Verfügbarkeit"
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr "Zuliefererteil Details"
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr "Empfangene Lagerartikel"
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr "Zuliefererteil Aktionen"
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr "Zuliefererteil bearbeiten"
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr "Kategorieaktionen"
msgid "Category Details"
msgstr "Kategorie-Details"
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr "Variante von"
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Kategorie"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr "Standard Lagerort"
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr "Standard-Lagerort der Kategorie"
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr "Version"
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Einheiten"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr "Link"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr "Verfügbarer Bestand"
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr "Minimaler Bestand"
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "Bestellt"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr "Bauaufträgen zugeordnet"
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr "Aufträgen zugeordnet"
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Herstellbar"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Gebäude"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr "Aktiv"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr "Vorlagenteil"
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr "Baugruppe"
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr "Komponente"
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr "Nachverfolgbares Teil"
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr "Käufliches Teil"
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr "Verkäufliches Teil"
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr "Virtuelles Teil"
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr "Erstelldatum"
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr "Erstellt von"
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
-msgstr "Erstellt von"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
+msgstr "Standard Zulieferer"
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr "Standard Zulieferer"
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Preisspanne"
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr "Letzte Inventur"
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr "Inventur durch"
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr "Teil-Details"
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr "Varianten"
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr "Ferienguthaben/Freitage"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr "Verwendet in"
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr "Hersteller"
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr "Terminierung"
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr "Testvorlagen"
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr "Zugehörige Teile"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr "Teil bearbeiten"
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr "Lager-Aktionen"
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr "Bestand zählen"
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr "Bestand übertragen"
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr "Teile-Aktionen"
@@ -3933,82 +3984,281 @@ msgstr "Teile-Aktionen"
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Komponente"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Preis pro Einheit"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr "Gesamtpreis"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr "Aktualisiert"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr "Datum"
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr "Bestellung bearbeiten"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr "Lieferanten-Referenz"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr "Positionen"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr "Abgeschlossene Positionen"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr "Abgeschlossene Sendungen"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr "Auftragswährung,"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr "Gesamtkosten"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr "Erstellt am"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Zieldatum"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr "Bestelldetails"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr "Bestellaktionen"
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr "Kundenreferenz"
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr "Kunden"
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr "Ausstehende Sendungen"
@@ -4046,19 +4296,19 @@ msgstr "Lagerort bearbeiten"
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr "Basisteil"
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr "Verfügbar"
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr "Bestandsverfolgung"
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr "Test Daten"
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr "Installierte Elemente"
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr "Untergeordnete Objekte"
-#: src/pages/stock/StockDetail.tsx:385
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
+msgstr "Lagerartikel bearbeiten"
+
+#: src/pages/stock/StockDetail.tsx:415
msgid "Stock Operations"
msgstr "Lagervorgänge"
-#: src/pages/stock/StockDetail.tsx:390
+#: src/pages/stock/StockDetail.tsx:420
msgid "Count stock"
msgstr "Bestand zählen"
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Lagerbestand hinzufügen"
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/pages/stock/StockDetail.tsx:433
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Lagerbestand entfernen"
-#: src/pages/stock/StockDetail.tsx:415
+#: src/pages/stock/StockDetail.tsx:445
msgid "Transfer"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Lagerbestand verschieben"
-#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
-msgstr "Lagerartikel duplizieren"
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr "Datum"
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Währung"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Gesamtpreis"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr "Filter hinzufügen"
msgid "Clear Filters"
msgstr "Filter zurücksetzen"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Keine Einträge gefunden"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "Der Server hat einen falschen Datentyp zurückgegeben"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Ungültige Anfrage"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Nicht autorisiert"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Verweigert"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Nicht gefunden"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr "Datensätze erfolgreich gelöscht"
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr "Löschen der Datensätze fehlgeschlagen"
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Barcode-Aktionen"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Druck-Aktionen"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Daten aktualisieren"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Tabellenfilter"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "Diese Stücklistenposition ist für ein anderes übergeordnetes Element definiert"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Teile-Informationen"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "Kein Bestand"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Alternatives Lager einschließen"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Verbrauchsartikel"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr "Nachverfolgbare Teile anzeigen"
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr "Artikel mit verfügbarem Lagerbestand anzeigen"
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
-msgstr "Stückliste anzeigen"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
+msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr "Stücklisten-Position bestätigen"
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr "Ersatzteil bearbeiten"
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
+msgstr "Stückliste anzeigen"
+
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr "Stücklisten-Position bestätigen"
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr "Ersatzteil bearbeiten"
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr "Nachverfolgbare Baugruppen anzeigen"
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr "Adresse löschen"
msgid "Are you sure you want to delete this address?"
msgstr "Sicher, dass Sie diese Adresse löschen wollen?"
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr "Kontakt bearbeiten"
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr "Kontakt löschen"
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr "Kontakt hinzufügen"
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Alternativen einschließen"
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Montage"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Komponente"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Filtern nach Nachverfolgbarer Eigenschaft"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Nicht virtuell"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr "Teilebeschreibung"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr "Gesamtmenge"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr "Erhalten"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr "Lieferantennummer"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr "Lieferanten-Link"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr "Herstellernummer"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Preis pro Einheit"
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr "Bestimmungsort"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr "Position hinzufügen"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr "Position bearbeiten"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr "Position löschen"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr "Position empfangen"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr "Position hinzufügen"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr "Erhaltene Artikel"
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Aktualisiert"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po
index a2295299fa..c7e6d14e6c 100644
--- a/src/frontend/src/locales/el/messages.po
+++ b/src/frontend/src/locales/el/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: el\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr "Αφαίρεση της σχετικής εικόνας από αυτό το στοιχείο;"
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr "Αφαίρεση"
@@ -82,7 +82,7 @@ msgstr "Αφαίρεση"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Ακύρωση"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Εκκαθάριση"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr "Το εξάρτημα είναι ανενεργό"
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr "Ανενεργό"
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr "Το εξάρτημα είναι εικονικό (μη φυσικό εξάρτημα)"
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Εικονικό"
@@ -246,32 +249,32 @@ msgstr "προς προεπισκόπηση"
msgid "Error rendering template"
msgstr "Σφάλμα αποτύπωσης προτύπου"
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Σφάλμα Φόρμας"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Επιτυχία"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Υπάρχουν Σφάλματα Φόρμας"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Ενημέρωση"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Διαγραφή"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Επιτυχής σύνδεση"
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po
index e117951e9e..e52663e37e 100644
--- a/src/frontend/src/locales/en/messages.po
+++ b/src/frontend/src/locales/en/messages.po
@@ -64,10 +64,10 @@ msgid "Remove the associated image from this item?"
msgstr "Remove the associated image from this item?"
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr "Remove"
@@ -77,7 +77,7 @@ msgstr "Remove"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Cancel"
@@ -95,7 +95,7 @@ msgid "Clear"
msgstr "Clear"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -126,6 +126,9 @@ msgid "Part is not active"
msgstr "Part is not active"
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr "Inactive"
@@ -158,8 +161,8 @@ msgid "Part is virtual (not a physical part)"
msgstr "Part is virtual (not a physical part)"
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtual"
@@ -241,32 +244,32 @@ msgstr "to preview"
msgid "Error rendering template"
msgstr "Error rendering template"
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Form Error"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Success"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Form Errors Exist"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Update"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -281,26 +284,30 @@ msgstr "Delete"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Login successful"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr "Logged in successfully"
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Welcome back!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Login failed"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Check your input and try again."
@@ -309,46 +316,45 @@ msgstr "Check your input and try again."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Mail delivery successful"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr "Mail delivery failed"
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr "Or continue with other methods"
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Username"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Your username"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Password"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Your password"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Reset password"
@@ -357,73 +363,77 @@ msgstr "Reset password"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Email"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "We will send you a link to login - if you are registered"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Send me an email"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Use username and password"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Log In"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Send Email"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Registration successful"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Please confirm your email address to complete the registration"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Input error"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr "This will be used for a confirmation"
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Password repeat"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Repeat password"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "Register"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Or use SSO"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Don't have an account?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Go back to login"
@@ -435,7 +445,7 @@ msgstr "Host"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -486,34 +496,35 @@ msgstr "Name: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "State: <0>worker0> ({0}), <1>plugins1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Error"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Search"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Loading"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "No results found"
@@ -530,12 +541,12 @@ msgstr "No entries available"
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Thumbnail"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr "Barcode Actions"
@@ -556,7 +567,7 @@ msgid "Link custom barcode"
msgstr "Link custom barcode"
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr "Unlink Barcode"
@@ -577,7 +588,6 @@ msgid "Delete item"
msgstr "Delete item"
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr "Duplicate"
@@ -591,7 +601,7 @@ msgid "Read More"
msgstr "Read More"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Unknown error"
@@ -866,12 +876,12 @@ msgstr "Version"
msgid "Server Version"
msgstr "Server Version"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr "Search..."
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr "Nothing found..."
@@ -1028,19 +1038,18 @@ msgid "Unknown model: {model}"
msgstr "Unknown model: {model}"
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "Part"
@@ -1051,7 +1060,7 @@ msgstr "Part"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Parts"
@@ -1072,10 +1081,10 @@ msgid "Part Test Templates"
msgstr "Part Test Templates"
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr "Supplier Part"
@@ -1099,12 +1108,12 @@ msgstr "Part Category"
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr "Stock Item"
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1145,7 +1154,7 @@ msgid "Build Lines"
msgstr "Build Lines"
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr "Company"
@@ -1165,15 +1174,16 @@ msgstr "Project Codes"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr "Purchase Order"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Purchase Orders"
@@ -1188,16 +1198,16 @@ msgstr "Purchase Order Lines"
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr "Sales Order"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Sales Orders"
@@ -1212,13 +1222,13 @@ msgstr "Sales Order Shipments"
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr "Return Order"
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Return Orders"
@@ -1229,19 +1239,19 @@ msgid "Address"
msgstr "Address"
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr "Addresses"
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr "Contact"
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr "Contacts"
@@ -1271,24 +1281,27 @@ msgstr "Shipment"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr "Stock"
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr "Serial Number"
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Quantity"
@@ -1702,10 +1715,6 @@ msgstr "No settings specified"
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1994,7 +2003,7 @@ msgid "Recently Updated"
msgstr "Recently Updated"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Low Stock"
@@ -2051,7 +2060,7 @@ msgstr "Current News"
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Website"
@@ -2068,8 +2077,8 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr "Purchasing"
@@ -2077,9 +2086,9 @@ msgstr "Purchasing"
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr "Sales"
@@ -2282,75 +2291,75 @@ msgstr "Parent part category"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr "Choose Location"
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr "Item Destination selected"
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr "Part category default location selected"
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr "Received stock location selected"
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr "Default location selected"
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr "Scan Barcode"
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr "Set Location"
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr "Assign Batch Code{0}"
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr "Change Status"
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr "Remove item from list"
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr "Location"
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr "Store at default location"
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr "Store at line item destination"
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr "Store with already received stock"
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr "Receive line items"
@@ -2375,97 +2384,94 @@ msgstr "Enter serial numbers for new stock (or leave blank)"
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr "Add Stock Item"
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr "Edit Stock Item"
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr "Stock item updated"
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr "Move to default location"
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "In Stock"
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr "Move"
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr "Actions"
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr "Add"
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr "Count"
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr "Add Stock"
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr "Remove Stock"
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr "Transfer Stock"
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr "Count Stock"
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr "Change Stock Status"
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr "Merge Stock"
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr "Delete Stock Items"
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr "Parent stock location"
@@ -2481,38 +2487,50 @@ msgstr "Parent stock location"
#~ msgid "See you soon."
#~ msgstr "See you soon."
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
+msgstr "Logged Out"
+
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr "Successfully logged out"
+
#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Logout successful"
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr "You have been logged out"
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Reset failed"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr "Logged In"
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr "Successfully logged in"
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr "Logged In"
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr "Found an existing login - welcome back!"
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2530,27 +2548,27 @@ msgstr "Invalid Form"
msgid "method parameter not supplied"
msgstr "method parameter not supplied"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Not implemented"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "This feature is not yet implemented"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Permission denied"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "You do not have permission to perform this action"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Invalid Return Code"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr "Server returned status {returnCode}"
@@ -2579,11 +2597,11 @@ msgstr "Checking if you are already logged in"
msgid "No selection"
msgstr "No selection"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Welcome, log in below"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr "Register below"
@@ -2591,6 +2609,10 @@ msgstr "Register below"
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr "Logging out"
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3167,7 +3189,7 @@ msgid "Reports"
msgstr "Reports"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr "Report"
@@ -3184,7 +3206,7 @@ msgstr "Report"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr "Bill of Materials"
@@ -3218,8 +3240,6 @@ msgid "Barcodes"
msgstr "Barcodes"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr "Pricing"
@@ -3237,15 +3257,15 @@ msgid "Reporting"
msgstr "Reporting"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr "Stocktake"
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Build Orders"
@@ -3305,36 +3325,36 @@ msgstr "Mark as unread"
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Status"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr "Reference"
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3345,40 +3365,40 @@ msgstr "Reference"
msgid "Description"
msgstr "Description"
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr "Parent Build"
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr "Build Quantity"
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr "Completed Outputs"
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr "Issued By"
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr "Responsible"
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr "Source Location"
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr "Any location"
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr "Destination Location"
@@ -3393,7 +3413,7 @@ msgstr "Destination Location"
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr "Build Details"
@@ -3402,7 +3422,7 @@ msgstr "Build Details"
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr "Allocate Stock"
@@ -3411,7 +3431,7 @@ msgstr "Allocate Stock"
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr "Incomplete Outputs"
@@ -3427,48 +3447,48 @@ msgstr "Incomplete Outputs"
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr "Consumed Stock"
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr "Child Build Orders"
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr "Attachments"
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr "Notes"
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr "Edit Build Order"
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr "Reporting Actions"
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr "Print build report"
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr "Build Order Actions"
@@ -3480,51 +3500,56 @@ msgstr "Build Order Actions"
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr "Phone Number"
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr "Email Address"
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr "Default Currency"
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Supplier"
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr "Manufacturer"
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr "Customer"
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr "Details"
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr "Manufactured Parts"
@@ -3532,7 +3557,7 @@ msgstr "Manufactured Parts"
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr "Supplied Parts"
@@ -3540,30 +3565,31 @@ msgstr "Supplied Parts"
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr "Assigned Stock"
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr "Edit Company"
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr "Company Actions"
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr "Internal Part"
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr "External Link"
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr "Manufacturer Part Number"
@@ -3577,12 +3603,12 @@ msgid "Manufacturer Part Details"
msgstr "Manufacturer Part Details"
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr "Parameters"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Suppliers"
@@ -3600,58 +3626,70 @@ msgstr "Manufacturer Part Actions"
msgid "ManufacturerPart"
msgstr "ManufacturerPart"
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr "Note"
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr "SKU"
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr "Packaging"
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr "Pack Quantity"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr "Supplier Availability"
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr "Availability Updated"
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr "Availability"
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr "Supplier Part Details"
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr "Received Stock"
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr "Supplier Pricing"
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr "Supplier Part Actions"
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr "Edit Supplier Part"
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr "Add Supplier Part"
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3698,229 +3736,242 @@ msgstr "Category Actions"
msgid "Category Details"
msgstr "Category Details"
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr "Variant of"
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Category"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr "Default Location"
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr "Category Default Location"
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr "Revision"
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Units"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr "Keywords"
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr "Link"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr "Available Stock"
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr "Minimum Stock"
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "On order"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr "Allocated to Build Orders"
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr "Allocated to Sales Orders"
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Can Build"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Building"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr "Active"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr "Template Part"
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr "Assembled Part"
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr "Component Part"
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr "Trackable Part"
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr "Purchaseable Part"
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr "Saleable Part"
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr "Virtual Part"
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr "Creation Date"
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr "Created By"
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
-msgstr "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
+msgstr "Default Supplier"
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr "Default Supplier"
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Price Range"
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr "Last Stocktake"
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr "Stocktake By"
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr "Part Details"
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr "Variants"
-#: src/pages/part/PartDetail.tsx:504
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr "Allocations"
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr "Used In"
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr "Part Pricing"
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr "Manufacturers"
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr "Scheduling"
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr "Test Templates"
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr "Related Parts"
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr "No Stock"
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr "On Order"
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr "In Production"
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr "Edit Part"
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr "Add Part"
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr "Stock Actions"
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr "Count part stock"
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr "Transfer part stock"
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr "Part Actions"
@@ -3928,82 +3979,281 @@ msgstr "Part Actions"
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr "No pricing data found for this part."
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr "Pricing Overview"
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr "Purchase History"
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr "Internal Pricing"
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr "BOM Pricing"
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr "Variant Pricing"
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr "Sale Pricing"
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr "Sale History"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr "Minimum Total Price"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr "Maximum Total Price"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Component"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Unit Price"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr "Total Price"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr "Updated"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr "Pie Chart"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr "Bar Chart"
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr "Add Price Break"
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr "Edit Price Break"
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr "Delete Price Break"
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr "Price Break"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr "Pricing Category"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr "Minimum"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr "Maximum"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr "Purchase Pricing"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr "Override Pricing"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr "Overall Pricing"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr "Last Updated"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr "Minimum Price"
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr "Maximum Price"
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr "No data available"
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr "No Data"
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr "No pricing data available"
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr "Date"
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr "Purchase Price"
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr "Sale Order"
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr "Sale Price"
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr "Supplier Price"
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr "Variant Part"
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr "Edit Purchase Order"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr "Supplier Reference"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr "Line Items"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr "Completed Line Items"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr "Completed Shipments"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr "Order Currency,"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr "Total Cost"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr "Created On"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Target Date"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr "Order Details"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr "Order Actions"
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr "Customer Reference"
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr "Edit Return Order"
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr "Customers"
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr "Edit Sales Order"
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr "Pending Shipments"
@@ -4041,19 +4291,19 @@ msgstr "Edit Stock Location"
msgid "Location Actions"
msgstr "Location Actions"
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr "Base Part"
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr "Stock Status"
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr "Last Updated"
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4061,104 +4311,98 @@ msgstr "Last Updated"
msgid "Available"
msgstr "Available"
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr "Installed In"
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr "Consumed By"
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr "Build Order"
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr "Build Order"
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr "Stock Details"
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr "Stock Tracking"
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr "Test Data"
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr "Installed Items"
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr "Child Items"
-#: src/pages/stock/StockDetail.tsx:385
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
+msgstr "Edit Stock Item"
+
+#: src/pages/stock/StockDetail.tsx:415
msgid "Stock Operations"
msgstr "Stock Operations"
-#: src/pages/stock/StockDetail.tsx:390
+#: src/pages/stock/StockDetail.tsx:420
msgid "Count stock"
msgstr "Count stock"
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Add stock"
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/pages/stock/StockDetail.tsx:433
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Remove stock"
-#: src/pages/stock/StockDetail.tsx:415
+#: src/pages/stock/StockDetail.tsx:445
msgid "Transfer"
msgstr "Transfer"
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Transfer stock"
-#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
-msgstr "Duplicate stock item"
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr "Stock Item Actions"
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr "Batch Code"
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr "Date"
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Currency"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Total Price"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4240,200 +4484,228 @@ msgstr "Add Filter"
msgid "Clear Filters"
msgstr "Clear Filters"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "No records found"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "Server returned incorrect data type"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Bad request"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Unauthorized"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Forbidden"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Not found"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr "Delete selected records"
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr "Are you sure you want to delete the selected records?"
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr "This action cannot be undone!"
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr "Deleted records"
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr "Records were deleted successfully"
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr "Failed to delete records"
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Barcode actions"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Print actions"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Refresh data"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Table filters"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "This BOM item is defined for a different parent"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Part Information"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "No stock"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr "External stock"
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr "Includes substitute stock"
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Includes variant stock"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr "Stock Information"
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Consumable item"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr "Show trackable items"
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr "Show asssmbled items"
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr "Show items with available stock"
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr "Show items on order"
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr "Show validated items"
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr "Show inherited items"
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr "Show optional items"
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr "Show consumable items"
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr "Has Pricing"
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr "Show items with pricing"
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
+msgstr "Create BOM Item"
+
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
+msgstr "BOM item created"
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
+msgstr "Edit BOM Item"
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr "BOM item updated"
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr "Delete BOM Item"
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
+msgstr "BOM item deleted"
+
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
msgid "View BOM"
msgstr "View BOM"
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
msgid "Validate BOM line"
msgstr "Validate BOM line"
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
msgid "Edit Substitutes"
msgstr "Edit Substitutes"
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
-msgstr "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr "Add BOM Item"
-#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
-msgstr "Bom item updated"
-
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr "Delete Bom Item"
-
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr "Bom item deleted"
-
-#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
-msgstr "Are you sure you want to remove this BOM item?"
-
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr "Show active assemblies"
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Trackable"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr "Show trackable assemblies"
@@ -4488,7 +4760,7 @@ msgstr "Show active orders"
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr "Filter by order status"
@@ -4497,8 +4769,8 @@ msgstr "Filter by order status"
msgid "Show overdue status"
msgstr "Show overdue status"
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr "Add Build Order"
@@ -4523,27 +4795,43 @@ msgstr "Delete Address"
msgid "Are you sure you want to delete this address?"
msgstr "Are you sure you want to delete this address?"
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr "New Company"
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr "Show active companies"
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr "Show companies which are suppliers"
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr "Show companies which are manufacturers"
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr "Show companies which are customers"
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr "Add Company"
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr "Edit Contact"
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr "Add Contact"
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr "Delete Contact"
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr "Add contact"
@@ -4748,14 +5036,14 @@ msgstr "Edit parameter"
msgid "Add Part Parameter"
msgstr "Add Part Parameter"
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr "Edit Part Parameter"
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Include Subcategories"
@@ -4796,20 +5084,20 @@ msgstr "Parameter Template"
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr "New Part Parameter"
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr "Delete Part Parameter"
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr "Add parameter"
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Include Variants"
@@ -4831,7 +5119,7 @@ msgid "Show templates with choices"
msgstr "Show templates with choices"
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Has Units"
@@ -4867,88 +5155,79 @@ msgstr "Build Order Allocations"
msgid "Sales Order Allocations"
msgstr "Sales Order Allocations"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Filter by part active status"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Assembly"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Filter by assembly attribute"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Include parts in subcategories"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Component"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Filter by component attribute"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Filter by trackable attribute"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Filter by parts which have units"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Has IPN"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Filter by parts which have an internal part number"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Has Stock"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Filter by parts which have stock"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Filter by parts which have low stock"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Purchaseable"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Filter by parts which are purchaseable"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Salable"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Filter by parts which are salable"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Filter by parts which are virtual"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Not Virtual"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr "Add Part"
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr "Results"
@@ -5297,113 +5576,122 @@ msgstr "Manufacturer part deleted"
msgid "Are you sure you want to remove this manufacturer part?"
msgstr "Are you sure you want to remove this manufacturer part?"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr "Part Description"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr "Total Quantity"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr "Received"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr "Supplier Code"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr "Supplier Link"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr "Manufacturer Code"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Unit Price"
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr "Destination"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr "Add Line Item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr "Edit Line Item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr "Delete Line Item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr "Receive line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr "Add line item"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr "Receive items"
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr "Add Purchase Order"
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr "Base units"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Updated"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr "Add Supplier Part"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr "Supplier part created"
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr "Add supplier part"
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
-msgstr "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
+msgstr "Show active supplier parts"
-#: src/tables/purchasing/SupplierPartTable.tsx:204
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr "Active Part"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr "Show active internal parts"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr "Active Supplier"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
+msgstr "Show active suppliers"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:205
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:207
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
msgid "Delete Supplier Part"
msgstr "Delete Supplier Part"
-#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr "Supplier part deleted"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
-msgstr "Are you sure you want to remove this supplier part?"
-
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr "Add Return Order"
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr "Add Sales Order"
@@ -5788,52 +6076,52 @@ msgstr "External Location"
msgid "Show items in an external location"
msgstr "Show items in an external location"
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr "Add a new stock item"
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr "Remove some quantity from a stock item"
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr "Move Stock items to new locations"
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr "Change stock status"
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr "Change the status of stock items"
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr "Merge stock"
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr "Merge stock items"
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr "Order stock"
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr "Order new stock"
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr "Assign to customer"
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr "Delete stock"
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr "Delete stock items"
@@ -5870,8 +6158,8 @@ msgid "Finished"
msgstr "Finished"
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr "Add Test Result"
@@ -5879,61 +6167,61 @@ msgstr "Add Test Result"
msgid "Test result added"
msgstr "Test result added"
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr "Edit Test Result"
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr "Test result updated"
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr "Delete Test Result"
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr "Test result deleted"
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr "Test Passed"
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr "Test result has been recorded"
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr "Failed to record test result"
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr "Pass Test"
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr "Required"
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr "Show results for required tests"
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr "Include Installed"
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr "Show results for installed stock items"
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr "Passed"
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr "Show only passed tests"
diff --git a/src/frontend/src/locales/es-mx/messages.po b/src/frontend/src/locales/es-mx/messages.po
index d68d35db58..6d223f47c9 100644
--- a/src/frontend/src/locales/es-mx/messages.po
+++ b/src/frontend/src/locales/es-mx/messages.po
@@ -64,10 +64,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -77,7 +77,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -95,7 +95,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -126,6 +126,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -158,8 +161,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -241,32 +244,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -275,136 +278,143 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
+#: src/pages/Auth/Reset.tsx:31
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
+msgid "Email"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:133
+#: src/pages/Auth/Reset.tsx:32
+#: src/pages/Auth/Set-Password.tsx:107
+msgid "We will send you a link to login - if you are registered"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:136
#~ msgid "I will use username and password"
#~ msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
-#: src/pages/Auth/Reset.tsx:31
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
-msgid "Email"
-msgstr ""
-
-#: src/components/forms/AuthenticationForm.tsx:139
-#: src/pages/Auth/Reset.tsx:32
-#: src/pages/Auth/Set-Password.tsx:107
-msgid "We will send you a link to login - if you are registered"
-msgstr ""
-
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -416,7 +426,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -467,34 +477,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -511,12 +522,12 @@ msgstr ""
#~ msgstr ""
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -537,7 +548,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -558,7 +569,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -572,7 +582,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -847,12 +857,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1001,19 +1011,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1024,7 +1033,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1045,10 +1054,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1072,12 +1081,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1118,7 +1127,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1138,15 +1147,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1161,16 +1171,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1185,13 +1195,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1202,19 +1212,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1244,24 +1254,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1671,10 +1684,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr ""
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr ""
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr ""
@@ -1963,7 +1972,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2012,7 +2021,7 @@ msgid "Current News"
msgstr ""
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2029,8 +2038,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2038,9 +2047,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2179,75 +2188,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2272,97 +2281,94 @@ msgstr ""
#~ msgstr ""
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr ""
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2374,38 +2380,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr ""
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr ""
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr ""
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr ""
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr ""
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2423,27 +2441,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2472,14 +2490,18 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -2932,7 +2954,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -2949,7 +2971,7 @@ msgstr ""
#~ msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -2983,8 +3005,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr ""
@@ -3002,15 +3022,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3066,36 +3086,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3106,40 +3126,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3154,7 +3174,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3163,7 +3183,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3172,7 +3192,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3188,48 +3208,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3241,51 +3261,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3293,7 +3318,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3301,30 +3326,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3338,12 +3364,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3361,58 +3387,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3459,308 +3497,520 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:504
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -3798,19 +4048,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -3818,104 +4068,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr ""
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr ""
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -3997,200 +4241,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4245,7 +4517,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4254,8 +4526,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4280,27 +4552,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4505,14 +4793,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4553,20 +4841,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr ""
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4588,7 +4876,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4624,88 +4912,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5054,113 +5333,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5545,52 +5833,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5627,8 +5915,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5636,61 +5924,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po
index 9f45fabd76..8c93c4cee8 100644
--- a/src/frontend/src/locales/es/messages.po
+++ b/src/frontend/src/locales/es/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: es_MX\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr "¿Eliminar imagen asociada al artículo?"
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr "Eliminar"
@@ -82,7 +82,7 @@ msgstr "Eliminar"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Cancelar"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Borrar"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr "La pieza no está activa"
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr "Inactivo"
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Inicio de sesión exitoso"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "¡Bienvenido de vuelta!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Error al iniciar sesión"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Envío de correo exitoso"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Revisa tu bandeja de entrada para el enlace de inicio de sesión. Si tienes una cuenta, recibirás un enlace de inicio de sesión. Revisa también el correo no deseado."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Error de entrada"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Nombre de usuario"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Contraseña"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Tu contraseña"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Restablecer contraseña"
@@ -362,73 +368,77 @@ msgstr "Restablecer contraseña"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Correo electrónico"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Te enviaremos un enlace para iniciar sesión - si estás registrado"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Envíame un correo electrónico"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Error de entrada"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Nombre: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Órdenes de compra"
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Ordenes de devolución"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Sitio web"
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "En Stock"
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr "Agregar"
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Bienvenido, inicia sesión a continuación"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr "Informe"
@@ -3189,7 +3211,7 @@ msgstr "Informe"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr "Códigos de barras"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Precios"
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr "Informes"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Ordenes de Producción"
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Proveedor"
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr "Detalles"
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr "Parámetros"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Proveedores"
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr "Activo"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr "En producción"
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:415
msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:390
+#: src/pages/stock/StockDetail.tsx:420
msgid "Count stock"
msgstr "Contar stock"
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Agregar stock"
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/pages/stock/StockDetail.tsx:433
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Remover stock"
-#: src/pages/stock/StockDetail.tsx:415
+#: src/pages/stock/StockDetail.tsx:445
msgid "Transfer"
msgstr "Transferir"
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Transferir stock"
-#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
-msgstr "Duplicar artículo de stock"
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Rastreable"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr "Mostrar ensamblajes rastreables"
@@ -4493,7 +4765,7 @@ msgstr "Mostrar órdenes activas"
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr "Filtrar por estado de la orden"
@@ -4502,8 +4774,8 @@ msgstr "Filtrar por estado de la orden"
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr "Eliminar Dirección"
msgid "Are you sure you want to delete this address?"
msgstr "¿Estás seguro de que deseas eliminar esta dirección?"
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr "Editar contacto"
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr "Eliminar contacto"
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr "Agregar contacto"
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr "Añadir Artículo de Línea"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr "Recibir artículos"
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr "Unidades base"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po
index 7c5eaf58f2..5f30e3e37c 100644
--- a/src/frontend/src/locales/fa/messages.po
+++ b/src/frontend/src/locales/fa/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: fa\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po
index 7196d8b96d..d9ff1b584d 100644
--- a/src/frontend/src/locales/fi/messages.po
+++ b/src/frontend/src/locales/fi/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: fi\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po
index 4b88a9ebd6..f8eb2458f6 100644
--- a/src/frontend/src/locales/fr/messages.po
+++ b/src/frontend/src/locales/fr/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr "Supprimer l'image associée de cet élément ?"
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr "Supprimer"
@@ -82,7 +82,7 @@ msgstr "Supprimer"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Annuler"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Effacer"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Erreur de formulaire"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Succès"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Erreur le formulaire existe"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Mise à jour"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Supprimer"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Connexion réussie"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Bon retour parmi nous !"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Login invalide"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Vérifiez votre saisie et réessayez."
@@ -314,46 +321,45 @@ msgstr "Vérifiez votre saisie et réessayez."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Envoi du mail réussi"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Vérifiez votre boîte de réception pour le lien de connexion. Si vous avez un compte, vous recevrez un lien de connexion. Vérifiez également dans le courrier indésirable."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Erreur d'entrée"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr "Ou continuer avec d'autres méthodes"
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Nom d'utilisateur"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Votre nom d'utilisateur"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Mot de passe"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Mot de passe"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Réinitialiser le mot de passe"
@@ -362,73 +368,77 @@ msgstr "Réinitialiser le mot de passe"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Email"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Nous vous enverrons un lien pour vous connecter - si vous êtes déjà inscrit"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Envoyez-moi un e-mail"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Utilisez votre nom d'utilisateur et votre mot de passe"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Se connecter"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Envoyer l'e-mail"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Inscription réussie"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Veuillez confirmer votre adresse e-mail pour finaliser l'inscription"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Erreur d'entrée"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr "Ceci sera utilisé pour une confirmation"
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Répétition du mot de passe"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Répéter le mot de passe"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "S'enregistrer"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Ou utiliser SSO"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Pas encore de compte ?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Retourner au login"
@@ -440,7 +450,7 @@ msgstr "Serveur"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Nom : {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Erreur"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Rechercher"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Chargement"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Aucun résultat trouvé"
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Miniature"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr "Actions de code-barres"
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr "Lier un code-barre personnalisé"
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr "Délier le code-barre"
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr "Supprimer l’article"
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr "Dupliquer"
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "En Savoir Plus"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Erreur inconnue"
@@ -871,12 +881,12 @@ msgstr "Version"
msgid "Server Version"
msgstr "Version du serveur"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr "Modèle inconnu : {model}"
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "Pièce"
@@ -1056,7 +1065,7 @@ msgstr "Pièce"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Composants"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr "Pièce fournisseur"
@@ -1104,12 +1113,12 @@ msgstr "Catégorie de composant"
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr "Article en stock"
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr "Société"
@@ -1170,15 +1179,16 @@ msgstr "Codes du projet"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr "Commande d’achat"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Ordres d'achat"
@@ -1193,16 +1203,16 @@ msgstr "Lignes de commande d'achat"
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr "Ventes"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Ordres de vente"
@@ -1217,13 +1227,13 @@ msgstr "Expéditions de la commande"
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr "Retour de commande"
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Retours"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr "Adresse"
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr "Adresses"
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr "Contact"
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr "Contacts"
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr "Mis à jour récemment"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Stock faible"
@@ -2056,7 +2065,7 @@ msgstr "Actualités en cours"
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Site web"
@@ -2073,8 +2082,8 @@ msgstr "Démo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr "Achat en cours"
@@ -2082,9 +2091,9 @@ msgstr "Achat en cours"
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr "Ventes"
@@ -2287,75 +2296,75 @@ msgstr "Catégorie de pièce parente"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)"
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr "Ajouter un article en stock"
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr "Actions"
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Déconnexion résussie"
-
-#: src/functions/auth.tsx:71
-msgid "You have been logged out"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
+#: src/functions/auth.tsx:71
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
+
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Vérifiez votre boîte de réception pour un lien de réinitialisation. Cela ne fonctionne que si vous avez un compte. Vérifiez également dans le spam."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Échec de la réinitialisation"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr "Vérifier si vous êtes déjà connecté"
msgid "No selection"
msgstr "Aucune sélection"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Bienvenue, connectez-vous ci-dessous"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Ordres de fabrication"
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Status"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr "Responsable"
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Catégorie"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr "Emplacement par défaut"
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr "Révision"
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Unités"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr "Mots-clés"
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr "Lien"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr "Stock Minimum"
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "Sur commande"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr "Alloué à l'ordre de construction"
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr "Alloué aux ordres de ventes"
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Peut être construit"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Construire"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr "Date de création"
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
-msgstr ""
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
+msgstr "Fournisseur par Défaut"
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr "Fournisseur par Défaut"
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Échelle des prix"
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr "Dernier inventaire"
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr "Variants"
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr "Allocations"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr "Prix total"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Date cible"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr "Disponible"
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Devise"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Prix total"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr "Ajouter un filtre"
msgid "Clear Filters"
msgstr "Effacer filtres"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Pas d'enregistrement trouvé"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "Le serveur à retourner un type de donnée incorrect"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Requête invalide"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Non autorisé"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Accès interdit"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Elément non trouvé"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr "Supprimer les enregistrements sélectionnés"
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr "Êtes-vous sûr de vouloir supprimer les enregistrements sélectionnés ?"
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr "Cette action ne peut pas être annulée !"
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr "Enregistrement supprimé"
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr "Les enregistrements ont été supprimés avec succès"
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr "Échec de la suppression des enregistrements"
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Actions de code-barres"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Actions d'impression"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Actualiser les données"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Filtres de tableau"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "Cet article de nomenclature est défini pour un autre parent"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Information de pièce"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "Aucun stock"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr "Comprend un stock de remplacement"
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Inclut le stock de variantes"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr "Information de stock"
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Article consommable"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po
index a1c895f86b..3d430552de 100644
--- a/src/frontend/src/locales/he/messages.po
+++ b/src/frontend/src/locales/he/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: he\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po
index 085e9d9a2d..c200584a20 100644
--- a/src/frontend/src/locales/hi/messages.po
+++ b/src/frontend/src/locales/hi/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: hi\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "लॉगिन सफल"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "आपका पुनः स्वागत है"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "लॉगिन असफल"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "इनपुट त्रुटि"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "उपयोगकर्ता नाम"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "पासवर्ड"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "आपका पासवर्ड"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "पासवर्ड रीसेट करें"
@@ -362,73 +368,77 @@ msgstr "पासवर्ड रीसेट करें"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "ई-मेल"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "इनपुट त्रुटि"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po
index a98dc64a29..8ab9e32b8e 100644
--- a/src/frontend/src/locales/hu/messages.po
+++ b/src/frontend/src/locales/hu/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: hu\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr "Eltávolítás"
@@ -82,7 +82,7 @@ msgstr "Eltávolítás"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Mégsem"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuális"
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Form hiba"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Siker"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Form hibák vannak"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Törlés"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Sikeres bejelentkezés"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Üdv újra!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Belépés sikertelen"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Ellenőrizd amit beírtál és próbáld újra."
@@ -314,46 +321,45 @@ msgstr "Ellenőrizd amit beírtál és próbáld újra."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Levél kézbesítése sikeres"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "A bejelentkezési linket keresd a bejövő email fiókodban. Ellenőrizd a spameket is."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Beviteli hiba"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Felhasználónév"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Jelszó"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Jelszó"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Jelszó visszaállítása"
@@ -362,73 +368,77 @@ msgstr "Jelszó visszaállítása"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Email"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Küldünk bejelentkezési linket - ha regisztrálva vagy"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Email küldés"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Bejelentkezés"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Email küldés"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Beviteli hiba"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr "Kiszolgáló"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Név: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Státusz: <0>worker0> ({0}), <1>plugins1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Hiba"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Keresés"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Betöltés"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Nincs találat"
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Bélyegkép"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr "Vonalkód műveletek"
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr "Egyedi vonalkód hozzárendelése"
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr "Vonalkód leválasztása"
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr "Tétel törlése"
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr "Másolás"
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "Tudj meg többet"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Ismeretlen hiba"
@@ -871,12 +881,12 @@ msgstr "Verzió"
msgid "Server Version"
msgstr "Szerver verziója"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr "Ismeretlen model: {model}"
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "Alkatrész"
@@ -1056,7 +1065,7 @@ msgstr "Alkatrész"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Alkatrészek"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr "Beszállítói alkatrész"
@@ -1104,12 +1113,12 @@ msgstr "Alkatrész kategória"
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr "Készlet tétel"
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr "Cég"
@@ -1170,15 +1179,16 @@ msgstr "Projektszámok"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Beszerzési rendelések"
@@ -1193,16 +1203,16 @@ msgstr "Beszerzési rendelés tételei"
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr "Vevői rendelés"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Vevői rendelések"
@@ -1217,13 +1227,13 @@ msgstr "Vevői rendelés szállítmányok"
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr "Visszavétel"
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Visszavételek"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr "Cím"
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr "Címek"
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr "Kapcsolat"
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr "Kapcsolatok"
@@ -1276,24 +1286,27 @@ msgstr "Szállítmány"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr "Készlet"
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr "Sorozatszám"
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Mennyiség"
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr "Nemrég frissítve"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Alacsony készlet"
@@ -2056,7 +2065,7 @@ msgstr "Jelenlegi hírek"
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Weboldal"
@@ -2073,8 +2082,8 @@ msgstr "Demó"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr "Beszerzés"
@@ -2082,9 +2091,9 @@ msgstr "Beszerzés"
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr "Eladás"
@@ -2287,75 +2296,75 @@ msgstr "Felsőbb szintű alkatrész kategória"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr "Új készlet tétel"
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr "Készlet tétel szerkesztése"
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr "Készlet tétel frissítve"
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "Készleten"
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr "Műveletek"
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr "Hozzáadás"
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr "Mennyiség"
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr "Készlet áthelyezése"
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr "Leltározás"
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Sikeres kijelentkezés"
-
-#: src/functions/auth.tsx:71
-msgid "You have been logged out"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
+#: src/functions/auth.tsx:71
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
+
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Nézd meg a beérkező levelek mappájában a visszaállítási linket. Ez csak akkor működik, ha van fiókod. Ellenőrizd a spameket is."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Visszaállítás sikertelen"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr "Érvénytelen űrlap"
msgid "method parameter not supplied"
msgstr "metódus paraméter nem támogatott"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Nincs implementálva"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Ez a funkció még nem készült el"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Engedély megtagadva"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "Nincs jogosultságod ehhez a művelethez"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Érvénytelen visszatérési kód"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr "Szerver válaszkódja {returnCode}"
@@ -2584,11 +2602,11 @@ msgstr "Ellenőrzöm hogy be vagy-e már jelentkezve"
msgid "No selection"
msgstr "Nincs kijelölés"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Üdvözlet, bejelentkezés lent"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr "Jelentés"
@@ -3189,7 +3211,7 @@ msgstr "Jelentés"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr "Alkatrészjegyzék"
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr "Vonalkódok"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Árazás"
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr "Riportolás"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr "Leltár"
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Gyártási utasítások"
@@ -3310,36 +3330,36 @@ msgstr "Megjelölés olvasatlanként"
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Állapot"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr "Leírás"
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr "Befejezett kimenetek"
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr "Felelős"
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr "Gyártás részletei"
@@ -3407,7 +3427,7 @@ msgstr "Gyártás részletei"
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr "Készlet foglalása"
@@ -3416,7 +3436,7 @@ msgstr "Készlet foglalása"
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr "Befejezetlen kimenetek"
@@ -3432,48 +3452,48 @@ msgstr "Befejezetlen kimenetek"
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr "Felhasznált készlet"
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr "Alárendelt gyártások"
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr "Mellékletek"
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr "Megjegyzések"
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr "Gyártási utasítás szerkesztése"
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr "Jelentési műveletek"
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr "Gyártási riport nyomtatása"
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr "Gyártáshoz foglalások"
@@ -3485,51 +3505,56 @@ msgstr "Gyártáshoz foglalások"
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Beszállító"
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr "Gyártó"
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr "Vevő"
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr "Részletek"
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr "Gyártott alkatrészek"
@@ -3537,7 +3562,7 @@ msgstr "Gyártott alkatrészek"
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr "Szállított alkatrészek"
@@ -3545,30 +3570,31 @@ msgstr "Szállított alkatrészek"
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr "Hozzárendelt készlet"
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr "Cég szerkesztése"
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr "Cég műveletek"
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr "Paraméterek"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Beszállítók"
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr "Csomagolási mennyiség"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr "Beérkezett készlet"
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr "Beszállítói alkatrész szerkesztése"
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr "Beszállítói alkatrész hozzáadása"
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Kategória"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Mértékegységek"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr "Link"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "Rendelve"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Gyártható"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Gyártásban"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr "Aktív"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr "Gyártmány alkatrész"
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr "Létrehozás dátuma"
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Ártartomány"
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr "Változatok"
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr "Foglalások"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr "Felhasználva ebben"
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr "Gyártók"
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr "Ütemezés"
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr "Teszt sablonok"
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr "Kapcsolódó alkatrészek"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr "Rendelve"
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr "Alkatrész szerkesztése"
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr "Készlet műveletek"
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr "Készlet számolása"
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr "Készlet áthelyezése"
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr "Alkatrész műveletek"
@@ -3933,82 +3984,281 @@ msgstr "Alkatrész műveletek"
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Összetevő"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Egységár"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr "Teljes ár"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr "Frissítve"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr "Sortételek"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr "Kész szállítmányok"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Cél dátum"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr "Rendelés részletei"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr "Rendelés műveletek"
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr "Vevői azonosító"
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr "Vevők"
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr "Függő szállítmányok"
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr "Kiindulási alkatrész"
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr "Elérhető"
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr "Készlettörténet"
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr "Teszt adatok"
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr "Beépített tételek"
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr "Gyermek tételek"
-#: src/pages/stock/StockDetail.tsx:385
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
+msgstr "Készlet tétel szerkesztése"
+
+#: src/pages/stock/StockDetail.tsx:415
msgid "Stock Operations"
msgstr "Készlet műveletek"
-#: src/pages/stock/StockDetail.tsx:390
+#: src/pages/stock/StockDetail.tsx:420
msgid "Count stock"
msgstr "Leltározás"
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Készlethez ad"
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/pages/stock/StockDetail.tsx:433
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Készlet csökkentése"
-#: src/pages/stock/StockDetail.tsx:415
+#: src/pages/stock/StockDetail.tsx:445
msgid "Transfer"
msgstr "Áthelyezés"
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Készlet áthelyezése"
-#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
-msgstr "Készlet tétel másolása"
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Pénznem"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Teljes ár"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr "Szűrő hozzáadása"
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Nincs találat"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "A szerver hibás adattípust küldött vissza"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Hibás kérés"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Jogosulatlan"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Tiltott"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Nem található"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Vonalkód műveletek"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Nyomtatási műveletek"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Adatok frissítése"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Táblaszűrők"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "Ez a beépülő alkatrész másik szülő alkatrészhez lett felvéve"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Alkatrész információ"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "Nincs készlet"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr "Helyettesítőkkel együtt"
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Változatokkal együtt"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr "Készlet adatok"
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Fogyóeszköz tétel"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
msgid "View BOM"
msgstr "Alkatrészjegyzék megtekintése"
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
msgid "Validate BOM line"
msgstr "Alkatrészjegyzék tétel jóváhagyása"
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
msgid "Edit Substitutes"
msgstr "Helyettesítő alkatrészek szerkesztése"
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
-msgstr "Alkatrészjegyzék tétel szerkesztése"
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
-#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
-msgstr "Készlet tétel módosítva"
-
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr "Alkatrészjegyzék tétel törlése"
-
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr "Alkatrészjegyzék tétel törölve"
-
-#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
-msgstr "Biztos benne, hogy eltávolítja ezt az alkatrészjegyzék tételt?"
-
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Követésre kötelezett"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr "Gyártási utasítás létrehozása"
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr "Alkatrész paraméter szerkesztése"
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Alkategóriákkal együtt"
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr "Alkatrész paraméter törlése"
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr "Paraméter hozzáadás"
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Változatok is"
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Van mértékegysége"
@@ -4872,88 +5160,79 @@ msgstr "Gyártáshoz foglalások"
msgid "Sales Order Allocations"
msgstr "Vevői rendeléshez foglalások"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Szűrés aktív státusz szerint"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Gyártmány"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Szűrés szerelési tulajdonság szerint"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Alkategóriákkal együtt"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Összetevő"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Szűrés összetevő tulajdonság szerint"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Szűrés követésre kötelezettség szerint"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Szűrés meglévő mértékegység szerint"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Van IPN-je"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Szűrés meglévő IPN szerint"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Van készlet"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Szűrés meglévő készlet szerint"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Szűrés alacsony készlet szerint"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Beszerezhető"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Szűrés beszerezhetőség szerint"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Értékesíthető"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Szűrés értékesíthetőség szerint"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Szűrés virtuális alkatrészek szerint"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Nem virtuális"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr "Alkatrész leírása"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr "Teljes mennyiség"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr "Fogadott"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr "Beszállítói kód"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr "Beszállítói link"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr "Gyártói kód"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Egységár"
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr "Cél"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr "Sortétel hozzáadása"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr "Sortétel szerkesztése"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr "Sortétel bevételezése"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr "Sortétel hozzáadása"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr "Bevételezés"
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr "MPN (Gyártói cikkszám)"
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr "Egység"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Frissítve"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr "Beszállítói alkatrész hozzáadása"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr "Beszállítói alkatrész létrehozva"
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr "Beszállítói alkatrész hozzáadása"
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
-msgstr "Beszállítói alkatrész frissítve"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
+msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:205
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:207
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
msgid "Delete Supplier Part"
msgstr "Beszállítói alkatrész törlése"
-#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr "Szállítói alkatrész törölve"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
-msgstr "Biztosan eltávolítod ezt a beszállítói alkatrészt?"
-
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po
index 48085a174b..a9bbc908c9 100644
--- a/src/frontend/src/locales/id/messages.po
+++ b/src/frontend/src/locales/id/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: id\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po
index f402068d4f..b26037c88c 100644
--- a/src/frontend/src/locales/it/messages.po
+++ b/src/frontend/src/locales/it/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: it\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po
index 67ffc1f0c6..6251a73c14 100644
--- a/src/frontend/src/locales/ja/messages.po
+++ b/src/frontend/src/locales/ja/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ja\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:18\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "キャンセル"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "仮想部品"
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "削除"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "ユーザー名"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "パスワード"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "パスワードを再設定"
@@ -362,73 +368,77 @@ msgstr "パスワードを再設定"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "メールアドレス"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "エラー"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "読み込み中"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "サムネイル"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "続きを読む"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "パーツ"
@@ -1056,7 +1065,7 @@ msgstr "パーツ"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "パーツ"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr "在庫商品"
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr "在庫"
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr "在庫商品を編集"
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "価格"
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr "未読にする"
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr "説明"
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr "添付ファイル"
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr "メモ"
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr "詳細"
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
+msgstr "在庫商品を編集"
+
+#: src/pages/stock/StockDetail.tsx:415
msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:390
+#: src/pages/stock/StockDetail.tsx:420
msgid "Count stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/pages/stock/StockDetail.tsx:433
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:415
+#: src/pages/stock/StockDetail.tsx:445
msgid "Transfer"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr "フィルタを追加"
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "表フィルタ"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "サブカテゴリを含む"
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "有効なパーツでフィルタ"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "サブカテゴリのパーツを含む"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "コンポーネント属性でフィルタ"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "追跡可能属性でフィルタ"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "単位のある部品でフィルタ"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "在庫がある部品でフィルタ"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "購入可能な部品でフィルタ"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "販売可能な部品でフィルタ"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "仮想部品でフィルタ"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "仮想部品ではない"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po
index 802266b16f..c3760be73e 100644
--- a/src/frontend/src/locales/ko/messages.po
+++ b/src/frontend/src/locales/ko/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ko\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po
index 725a9fa8ec..46984394a9 100644
--- a/src/frontend/src/locales/lv/messages.po
+++ b/src/frontend/src/locales/lv/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: lv\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Plural-Forms: nplurals=3; plural=(n==0 ? 0 : n%10==1 && n%100!=11 ? 1 : 2);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po
index b0e652303a..5091e60a5d 100644
--- a/src/frontend/src/locales/nl/messages.po
+++ b/src/frontend/src/locales/nl/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: nl\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "E-mail versturen"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr "Verkooporder"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Verkooporders"
@@ -1217,13 +1227,13 @@ msgstr "Verzendingen verkooporders"
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr "Retourorder"
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Retourorders"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr "Verkoop"
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Productieorders"
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Status"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr "Bijlagen"
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr "Opmerkingen"
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr "Klant"
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr "Regelitems"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr "Voltooide Verzendingen"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr "Order Details"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr "Klantreferentie"
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr "Klanten"
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr "In afwachting van verzending"
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr "Filteren op bestellingstatus"
@@ -4502,8 +4774,8 @@ msgstr "Filteren op bestellingstatus"
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr "Verkoopordertoewijzingen"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr "Retourorder toevoegen"
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr "Voeg Verkooporder toe"
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po
index 508a0f27f5..32008b2d6b 100644
--- a/src/frontend/src/locales/no/messages.po
+++ b/src/frontend/src/locales/no/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: no\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr "Fjern"
@@ -82,7 +82,7 @@ msgstr "Fjern"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Avbryt"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuell"
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Skjemafeil"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Suksess"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Skjemafeil eksisterer"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Oppdater"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Slett"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Innlogging vellykket"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Velkommen tilbake!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Innloggingen mislyktes"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Kontroller inndataene og prøv igjen."
@@ -314,46 +321,45 @@ msgstr "Kontroller inndataene og prøv igjen."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Levering av e-post vellykket"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Sjekk innboksen din for innloggingslenken. Hvis du har en konto, får du en innloggingslenke. Sjekk også i spam."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Inndatafeil"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Brukernavn"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Your username"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Passord"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Ditt passord"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Tilbakestill passord"
@@ -362,73 +368,77 @@ msgstr "Tilbakestill passord"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "E-post"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Vi sender deg en lenke for å logge inn - hvis du er registrert"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Send meg en e-post"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Logg inn"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Send e-post"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Inndatafeil"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr "Vert"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Navn: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Status: <0>arbeider0> ({0}), <1>utvidelser1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Feil"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Søk"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Laster"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Ingen resultater funnet"
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Miniatyrbilde"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr "Strekkodehandlinger"
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr "Koble til egendefinert strekkode"
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr "Fjern strekkodekobling"
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr "Slett element"
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr "Dupliser"
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "Les mer"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Ukjent feil"
@@ -871,12 +881,12 @@ msgstr "Versjon"
msgid "Server Version"
msgstr "Serverversjon"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr "Ukjent modell: {model}"
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "Del"
@@ -1056,7 +1065,7 @@ msgstr "Del"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Deler"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr "Leverandørdel"
@@ -1104,12 +1113,12 @@ msgstr "Delkategori"
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr "Lagervare"
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr "Firma"
@@ -1170,15 +1179,16 @@ msgstr "Prosjektkoder"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr "Innkjøpsordre"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Innkjøpsordrer"
@@ -1193,16 +1203,16 @@ msgstr "Ordrelinjer for innkjøpsordre"
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr "Salgsordre"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Salgsordrer"
@@ -1217,13 +1227,13 @@ msgstr "Salgsordreforsendelser"
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr "Returordre"
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Returordrer"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr "Adresse"
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr "Adresser"
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr "Kontakt"
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr "Kontakter"
@@ -1276,24 +1286,27 @@ msgstr "Forsendelse"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr "Lagerbeholdning"
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr "Serienummer"
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Antall"
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr "Nylig oppdatert"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Lav lagerbeholdning"
@@ -2056,7 +2065,7 @@ msgstr "Aktuelle nyheter"
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Nettside"
@@ -2073,8 +2082,8 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr "Innkjøp"
@@ -2082,9 +2091,9 @@ msgstr "Innkjøp"
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr "Salg"
@@ -2287,75 +2296,75 @@ msgstr "Overordnet del-kategori"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr "Angi serienumre for ny lagerbeholdning (eller la stå tom)"
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr "Rediger lagervare"
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr "Lagervare oppdatert"
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "På lager"
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr "Handlinger"
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr "Legg til"
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr "Tell"
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr "Overfør lager"
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr "Tell beholdning"
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Utlogging vellykket"
-
-#: src/functions/auth.tsx:71
-msgid "You have been logged out"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
+#: src/functions/auth.tsx:71
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
+
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Sjekk innboksen for en nullstillingslenke. Dette fungerer bare hvis du har en konto. Sjekk også i spam."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Tilbakestilling feilet"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr "Ugyldig skjema"
msgid "method parameter not supplied"
msgstr "metodeparameter er ikke angitt"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Ikke implementert"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Denne funksjonen er ikke implementert ennå"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Tillatelse nektet"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "Du har ikke rettigheter til å utføre denne handlingen"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Ugyldig returkode"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr "Serveren returnerte status {returnCode}"
@@ -2584,11 +2602,11 @@ msgstr "Sjekker om du allerede er innlogget"
msgid "No selection"
msgstr "Ingen utvalg"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Velkommen, logg inn nedenfor"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr "Rapport"
@@ -3189,7 +3211,7 @@ msgstr "Rapport"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr "Stykkliste (BOM)"
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr "Strekkoder"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Prising"
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr "Rapportering"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr "Lagertelling"
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Produksjonsordrer"
@@ -3310,36 +3330,36 @@ msgstr "Marker som ulest"
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Status"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr "Beskrivelse"
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr "Fullførte artikler"
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr "Ansvarlig"
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr "Produksjonsdetaljer"
@@ -3407,7 +3427,7 @@ msgstr "Produksjonsdetaljer"
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr "Tildel lagerbeholdning"
@@ -3416,7 +3436,7 @@ msgstr "Tildel lagerbeholdning"
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr "Ufullstendige artikler"
@@ -3432,48 +3452,48 @@ msgstr "Ufullstendige artikler"
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr "Brukt lagerbeholdning"
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr "Underordnede Produksjonsordrer"
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr "Vedlegg"
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr "Notater"
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr "Rediger produksjonsordre"
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr "Rapporthandlinger"
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr "Skriv ut produksjonsrapport"
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr "Produksjonsordre-handlinger"
@@ -3485,51 +3505,56 @@ msgstr "Produksjonsordre-handlinger"
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Leverandør"
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr "Produsent"
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr "Kunde"
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr "Detaljer"
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr "Produserte deler"
@@ -3537,7 +3562,7 @@ msgstr "Produserte deler"
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr "Leverte Deler"
@@ -3545,30 +3570,31 @@ msgstr "Leverte Deler"
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr "Tildelt lagerbeholdning"
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr "Rediger Bedrift"
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr "Bedriftshandlinger"
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr "Produsentens delenummer"
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr "Parametere"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Leverandører"
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr "Pakkeantall"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr "Mottatt lagerbeholdning"
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr "Rediger Leverandørdel"
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr "Legg til leverandørdel"
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Kategori"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Enheter"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr "Nøkkelord"
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr "Lenke"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "I bestilling"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Kan Produsere"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Produseres"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr "Aktiv"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr "Sammenstilt del"
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr "Sporbar del"
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr "Opprettelsesdato"
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Prisområde"
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr "Varianter"
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr "Tildelinger"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr "Brukt i"
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr "Produsenter"
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr "Planlegging"
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr "Testmaler"
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr "Relaterte Deler"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr "I bestilling"
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr "Under produksjon"
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr "Rediger del"
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr "Lagerhandlinger"
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr "Tell delbeholdning"
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr "Overfør delbeholdning"
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr "Delhandlinger"
@@ -3933,82 +3984,281 @@ msgstr "Delhandlinger"
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Komponent"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Enhetspris"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr "Total pris"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr "Oppdatert"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr "Dato"
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr "Ordrelinjer"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr "Fullførte forsendelser"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Måldato"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr "Ordredetaljer"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr "Ordrehandlinger"
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr "Kundereferanse"
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr "Kunder"
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr "Ventende forsendelser"
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr "Basisdel"
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr "Tilgjengelig"
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr "Sporing av lager"
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr "Testdata"
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr "Installerte artikler"
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr "Underordnede artikler"
-#: src/pages/stock/StockDetail.tsx:385
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
+msgstr "Rediger lagervare"
+
+#: src/pages/stock/StockDetail.tsx:415
msgid "Stock Operations"
msgstr "Lagerhandlinger"
-#: src/pages/stock/StockDetail.tsx:390
+#: src/pages/stock/StockDetail.tsx:420
msgid "Count stock"
msgstr "Tell beholdning"
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Legg til lager"
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/pages/stock/StockDetail.tsx:433
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Fjern lager"
-#: src/pages/stock/StockDetail.tsx:415
+#: src/pages/stock/StockDetail.tsx:445
msgid "Transfer"
msgstr "Overfør"
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Overfør lager"
-#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
-msgstr "Dupliser lagervare"
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr "Dato"
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Valuta"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Total pris"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr "Legg til filter"
msgid "Clear Filters"
msgstr "Fjern filtre"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Ingen poster funnet"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "Serveren returnerte feil datatype"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Ugyldig forespørsel"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Uautorisert"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Forbudt"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Ikke funnet"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr "Slett valgte oppføringer"
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr "Er du sikker på at du vil slette valgte oppføringer?"
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr "Denne handlingen kan ikke angres!"
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr "Slettede oppføringer"
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr "Oppføringer slettet"
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr "Kunne ikke slette oppføringer"
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Strekkodehandlinger"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Utskriftshandlinger"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Oppdater data"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Tabellfiltre"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "Denne BOM-artikkelen er definert for en annen overordnet del"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Delinformasjon"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "Ingen lagerbeholdning"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr "Inkluderer erstatningsbeholdning"
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Inkluderer variantbeholdning"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr "Lagerinformasjon"
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Forbruksvare"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr "Vis sporbare deler"
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr "Vis sammenstilte elementer"
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr "Vis elementer med tilgjengelig lagerbeholdning"
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr "Vis elementer i bestilling"
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr "Vis godkjente elementer"
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr "Vis arvede elementer"
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr "Vis valgfrie elementer"
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr "Vis forbruksartikler"
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr "Har prising"
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr "Vis varer med priser"
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
msgid "View BOM"
msgstr "Vis BOM"
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
msgid "Validate BOM line"
msgstr "Godkjenn BOM-linje"
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
msgid "Edit Substitutes"
msgstr "Rediger erstatninger"
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
-msgstr "Rediger Bom-artikkel"
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
-#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
-msgstr "BOM-artikkel oppdatert"
-
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr "Slett BOM-artikkel"
-
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr "BOM-artikkel slettet"
-
-#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
-msgstr "Er du sikker på at du vil fjerne dette BOM-elementet?"
-
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr "Vis aktive sammenstillinger"
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Sporbar"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr "Vis sporbare sammenstillinger"
@@ -4493,7 +4765,7 @@ msgstr "Vis aktive ordrer"
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr "Filtrer etter ordrestatus"
@@ -4502,8 +4774,8 @@ msgstr "Filtrer etter ordrestatus"
msgid "Show overdue status"
msgstr "Vis utløpt status"
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr "Legg til produksjonsordre"
@@ -4528,27 +4800,43 @@ msgstr "Slett adresse"
msgid "Are you sure you want to delete this address?"
msgstr "Er du sikker på at du vil slette denne adressen?"
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr "Rediger kontakt"
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr "Slett kontakt"
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr "Legg til kontakt"
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr "Rediger del-parameter"
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Inkluder underkategorier"
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr "Slett del-parameter"
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr "Legg til parameter"
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Inkluder varianter"
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr "Vis maler med valg"
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Har enheter"
@@ -4872,88 +5160,79 @@ msgstr "Produksjonsordre-tildelinger"
msgid "Sales Order Allocations"
msgstr "Salgsordretildelinger"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Filtrer etter del aktiv-status"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Sammenstilling"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Filtrer etter sammenstillingsattributt"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Inkluder deler i underkategorier"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Komponent"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Filtrer etter komponentattributt"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Filtrer etter sporbar attributt"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Filtrer etter deler som har enheter"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Har IPN"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Filtrer etter deler som har internt delnummer"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Har beholdning"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Filtrer etter deler som har lagerbeholdning"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Filtrer etter deler som har lav lagerbeholdning"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Kjøpbar"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Filtrer etter deler som kan kjøpes"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Salgbar"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Filtrer etter deler som kan selges"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Filtrer etter deler som er virtuelle"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Ikke virtuell"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr "Produsentdel slettet"
msgid "Are you sure you want to remove this manufacturer part?"
msgstr "Er du sikker på at du vil fjerne denne produsentdelen?"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr "Delbeskrivelse"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr "Totalt Antall"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr "Mottatt"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr "Leverandørkode"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr "Leverandørlenke"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr "Produsentens kode"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Enhetspris"
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr "Destinasjon"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr "Legg til ordrelinje"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr "Rediger ordrelinje"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr "Motta ordrelinje"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr "Legg til ordrelinje"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr "Motta artikler"
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr "Basisenhet"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Oppdatert"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr "Legg til leverandørdel"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr "Leverandørdel opprettet"
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr "Legg til leverandørdel"
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
-msgstr "Leverandørdel oppdatert"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
+msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:205
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:207
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
msgid "Delete Supplier Part"
msgstr "Slett Leverandørdel"
-#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr "Leverandørdel slettet"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
-msgstr "Er du sikker på at du vil fjerne denne leverandørdelen?"
-
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr "Ekstern plassering"
msgid "Show items in an external location"
msgstr "Vis elementer ved en ekstern plassering"
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po
index 383d6a747d..13b3706672 100644
--- a/src/frontend/src/locales/pl/messages.po
+++ b/src/frontend/src/locales/pl/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pl\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Zalogowano pomyślnie"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Witamy ponownie!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Wiadomość dostarczona"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po
index bba80168c0..d125a42a39 100644
--- a/src/frontend/src/locales/pseudo-LOCALE/messages.po
+++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po
@@ -104,10 +104,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -117,7 +117,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -135,7 +135,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -166,6 +166,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -198,8 +201,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -281,32 +284,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -321,26 +324,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -349,46 +356,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -397,73 +403,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr ""
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -475,7 +485,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -526,34 +536,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -570,12 +581,12 @@ msgstr ""
#~ msgstr ""
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -596,7 +607,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -617,7 +628,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -631,7 +641,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -910,12 +920,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1072,19 +1082,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1095,7 +1104,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1116,10 +1125,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1143,12 +1152,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1189,7 +1198,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1209,15 +1218,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1232,16 +1242,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1256,13 +1266,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1273,19 +1283,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1315,24 +1325,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1746,10 +1759,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr ""
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr ""
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr ""
@@ -2038,7 +2047,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2095,7 +2104,7 @@ msgstr ""
#~ msgstr ""
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2112,8 +2121,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2121,9 +2130,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2326,75 +2335,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2419,97 +2428,94 @@ msgstr ""
#~ msgstr ""
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr ""
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2525,38 +2531,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr ""
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr ""
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr ""
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr ""
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr ""
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2574,27 +2592,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2623,11 +2641,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2635,6 +2653,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr ""
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3211,7 +3233,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3228,7 +3250,7 @@ msgstr ""
#~ msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3262,8 +3284,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr ""
@@ -3281,15 +3301,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3349,36 +3369,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3389,40 +3409,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3437,7 +3457,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3446,7 +3466,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3455,7 +3475,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3471,48 +3491,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3524,51 +3544,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3576,7 +3601,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3584,30 +3609,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3621,12 +3647,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3644,58 +3670,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3742,229 +3780,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:504
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3972,82 +4023,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4085,19 +4335,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4105,104 +4355,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr ""
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr ""
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4284,200 +4528,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4532,7 +4804,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4541,8 +4813,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4567,27 +4839,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4792,14 +5080,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4840,20 +5128,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr ""
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4875,7 +5163,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4911,88 +5199,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5341,113 +5620,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5832,52 +6120,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5914,8 +6202,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5923,61 +6211,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/pt-br/messages.po b/src/frontend/src/locales/pt-br/messages.po
index 7607957023..220048801c 100644
--- a/src/frontend/src/locales/pt-br/messages.po
+++ b/src/frontend/src/locales/pt-br/messages.po
@@ -64,10 +64,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -77,7 +77,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -95,7 +95,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -126,6 +126,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -158,8 +161,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -241,32 +244,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -275,136 +278,143 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
+#: src/pages/Auth/Reset.tsx:31
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
+msgid "Email"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:133
+#: src/pages/Auth/Reset.tsx:32
+#: src/pages/Auth/Set-Password.tsx:107
+msgid "We will send you a link to login - if you are registered"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:136
#~ msgid "I will use username and password"
#~ msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
-#: src/pages/Auth/Reset.tsx:31
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
-msgid "Email"
-msgstr ""
-
-#: src/components/forms/AuthenticationForm.tsx:139
-#: src/pages/Auth/Reset.tsx:32
-#: src/pages/Auth/Set-Password.tsx:107
-msgid "We will send you a link to login - if you are registered"
-msgstr ""
-
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -416,7 +426,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -467,34 +477,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -511,12 +522,12 @@ msgstr ""
#~ msgstr ""
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -537,7 +548,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -558,7 +569,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -572,7 +582,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -847,12 +857,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1001,19 +1011,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1024,7 +1033,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1045,10 +1054,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1072,12 +1081,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1118,7 +1127,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1138,15 +1147,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1161,16 +1171,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1185,13 +1195,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1202,19 +1212,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1244,24 +1254,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1671,10 +1684,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr ""
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr ""
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr ""
@@ -1963,7 +1972,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2012,7 +2021,7 @@ msgid "Current News"
msgstr ""
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2029,8 +2038,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2038,9 +2047,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2179,75 +2188,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2272,97 +2281,94 @@ msgstr ""
#~ msgstr ""
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr ""
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2374,38 +2380,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr ""
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr ""
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr ""
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr ""
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr ""
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2423,27 +2441,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2472,14 +2490,18 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -2932,7 +2954,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -2949,7 +2971,7 @@ msgstr ""
#~ msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -2983,8 +3005,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr ""
@@ -3002,15 +3022,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3066,36 +3086,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3106,40 +3126,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3154,7 +3174,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3163,7 +3183,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3172,7 +3192,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3188,48 +3208,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3241,51 +3261,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3293,7 +3318,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3301,30 +3326,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3338,12 +3364,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3361,58 +3387,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3459,308 +3497,520 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:504
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -3798,19 +4048,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -3818,104 +4068,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr ""
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr ""
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -3997,200 +4241,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4245,7 +4517,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4254,8 +4526,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4280,27 +4552,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4505,14 +4793,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4553,20 +4841,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr ""
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4588,7 +4876,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4624,88 +4912,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5054,113 +5333,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5545,52 +5833,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5627,8 +5915,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5636,61 +5924,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po
index eb99590c97..f1b6e84b2c 100644
--- a/src/frontend/src/locales/pt/messages.po
+++ b/src/frontend/src/locales/pt/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -32,7 +32,7 @@ msgstr "Escanear código QR"
#: src/components/buttons/SpotlightButton.tsx:11
msgid "Open spotlight"
-msgstr ""
+msgstr "Abrir spotlight"
#: src/components/buttons/YesNoButton.tsx:16
msgid "Pass"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr "Remover imagem associada a este item?"
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr "Remover"
@@ -82,7 +82,7 @@ msgstr "Remover"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Cancelar"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Limpar"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -112,7 +112,7 @@ msgstr "Selecionar de imagens existentes"
#: src/components/details/DetailsImage.tsx:274
msgid "Select Image"
-msgstr ""
+msgstr "Selecionar Imagem"
#: src/components/details/DetailsImage.tsx:286
msgid "Upload new image"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr "Peça inativa"
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr "Inativo"
@@ -163,43 +166,43 @@ msgid "Part is virtual (not a physical part)"
msgstr "Peça é virtual (não é física)"
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtual"
#: src/components/editors/TemplateEditor/CodeEditor/index.tsx:9
msgid "Code"
-msgstr ""
+msgstr "Código"
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:44
msgid "Failed to parse error response from server."
-msgstr ""
+msgstr "Falha ao processar a resposta do servidor."
#: src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx:82
msgid "Preview not available, click \"Reload Preview\"."
-msgstr ""
+msgstr "Pré-visualização indisponível, clique em \"Recarregar Pré-visualização\"."
#: src/components/editors/TemplateEditor/PdfPreview/index.tsx:9
msgid "PDF Preview"
-msgstr ""
+msgstr "Visualizar PDF"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:114
msgid "Error loading template"
-msgstr ""
+msgstr "Erro ao carregar template"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:126
msgid "Error saving template"
-msgstr ""
+msgstr "Erro ao salvar o template"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:152
msgid "Save & Reload preview?"
-msgstr ""
+msgstr "Salvar e recarregar visualização?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:157
msgid "Are you sure you want to Save & Reload the preview?"
-msgstr ""
+msgstr "Tem certeza de que deseja salvar e recarregar a visualização?"
#: src/components/editors/TemplateEditor/TemplateEditor.tsx:159
msgid "To render the preview the current template needs to be replaced on the server with your modifications which may break the label if it is under active use. Do you want to proceed?"
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Erro no formulário"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Sucesso"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Há erros de formulário"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Atualizar"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Excluir"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Acesso bem-sucedido"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Bem-vindo(a) de volta!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Falha ao acessar"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Verifique sua entrada e tente novamente."
@@ -314,46 +321,45 @@ msgstr "Verifique sua entrada e tente novamente."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Envio de e-mail concluído"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Verifique sua caixa de entrada para o link de acesso. Se você tiver uma conta, você receberá um link de acesso. Também verifique o spam."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Erro de entrada"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr "Ou continue com outros métodos"
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Nome de usuário"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Seu nome de usuário"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Senha"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Sua senha"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Redefinir senha"
@@ -362,73 +368,77 @@ msgstr "Redefinir senha"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Email"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Enviaremos um link para fazer o acesso - se você estiver registrado"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Me envie um e-mail"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Usar nome de usuário e senha"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Entrar"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Enviar E-mail"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Cadastrado com sucesso"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Por favor, confirme seu endereço de e-mail para concluir o registro"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Erro de entrada"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr "Isto será usado para uma confirmação"
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Repetir senha"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Repita a senha"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "Registrar"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Ou use SSO"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Não possui uma conta?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Voltar ao login"
@@ -440,7 +450,7 @@ msgstr "Servidor"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Nome: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Estado: <0>funcionário0> ({0}), <1>extensões1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Erro"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Buscar"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Carregando"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Nenhum resultado encontrado"
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Miniatura"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr "Ações de código de barras"
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr "Vincular código de barras personalizado"
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr "Desvincular Código de Barras"
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr "Apagar item"
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr "Duplicar"
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "Leia Mais"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Erro desconhecido"
@@ -871,12 +881,12 @@ msgstr "Versão"
msgid "Server Version"
msgstr "Versão do servidor"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr "Buscar..."
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr "Modelo desconhecido: {model}"
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "Peça"
@@ -1056,7 +1065,7 @@ msgstr "Peça"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Peças"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr "Fornecedor da Peça"
@@ -1104,12 +1113,12 @@ msgstr "Categoria da Peça"
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr "Item de estoque"
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr "Empresa"
@@ -1170,15 +1179,16 @@ msgstr "Códigos de Projeto"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr "Pedido de Compra"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Pedidos de compra"
@@ -1193,16 +1203,16 @@ msgstr "Linhas do Pedido de Compra"
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr "Pedido de Venda"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Pedidos de vendas"
@@ -1217,13 +1227,13 @@ msgstr "Envios do Pedido Venda"
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr "Pedido de Devolução"
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Pedidos de Devolução"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr "Endereço"
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr "Endereços"
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr "Contato"
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr "Contatos"
@@ -1276,24 +1286,27 @@ msgstr "Remessa"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr "Estoque"
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr "Número de Série"
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Quantidade"
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr "Atualizados Recentemente"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Estoque Baixo"
@@ -2056,7 +2065,7 @@ msgstr "Notícias Atuais"
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Página Web"
@@ -2073,8 +2082,8 @@ msgstr "Demonstração"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr "Comprando"
@@ -2082,9 +2091,9 @@ msgstr "Comprando"
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr "Vendas"
@@ -2287,75 +2296,75 @@ msgstr "Categoria de peça parental"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
-msgstr ""
+msgstr "Escolher local"
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr "Insira o número de série para novo estoque (ou deixe em branco)"
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr "Adicionar Item do Estoque"
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr "Editar Item do Estoque"
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr "Item de estoque atualizado"
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "Em Estoque"
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr "Ações"
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr "Adicionar"
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr "Contar"
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr "Transferir Estoque"
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr "Contar Estoque"
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr "Local de estoque pai"
@@ -2486,38 +2492,50 @@ msgstr "Local de estoque pai"
#~ msgid "See you soon."
#~ msgstr "See you soon."
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
+msgstr ""
+
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Sessão terminada"
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr "Você foi desconectado"
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Verifique sua caixa de entrada para o link de redefinição. Isso só funciona se você tiver uma conta. Cheque no spam também."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "A redefinação falhou"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr "Logado"
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr "Logado"
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr "Encontramos um login existente - bem-vindo de volta!"
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr "Formulário inválido"
msgid "method parameter not supplied"
msgstr "parâmetro do método não fornecido"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Não implementado"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Esta função ainda não foi implementada"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Permissão negada"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "Você não tem permissão para realizar esta ação"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Código de retorno inválido"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr "O servidor retornou o estado {returnCode}"
@@ -2584,11 +2602,11 @@ msgstr "Checando se você já está conectado"
msgid "No selection"
msgstr "Nada selecionado"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Bem-vindo(a), acesse abaixo"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr "Registre-se abaixo"
@@ -2596,6 +2614,10 @@ msgstr "Registre-se abaixo"
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr "Reportar"
@@ -3189,7 +3211,7 @@ msgstr "Reportar"
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr "Lista de Materiais"
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr "Códigos de barras"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Preços"
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr "Relatórios"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr "Balanço"
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Ordens de Produções"
@@ -3310,36 +3330,36 @@ msgstr "Marcar como não lido"
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Estado"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr "Descrição"
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr "Saídas Completas"
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr "Responsável"
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr "Detalhes da Produção"
@@ -3407,7 +3427,7 @@ msgstr "Detalhes da Produção"
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr "Alocar Estoque"
@@ -3416,7 +3436,7 @@ msgstr "Alocar Estoque"
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr "Saídas Incompletas"
@@ -3432,48 +3452,48 @@ msgstr "Saídas Incompletas"
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr "Estoque Consumido"
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr "Pedido de Produção Filhos"
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr "Anexos"
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr "Anotações"
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr "Editar Pedido de Produção"
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr "Ações para Reportar"
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr "Imprimir relatório de construção"
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr "Ações do Pedido de Produção"
@@ -3485,51 +3505,56 @@ msgstr "Ações do Pedido de Produção"
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Fornecedor"
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr "Fabricante"
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr "Cliente"
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr "Detalhes"
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr "Peças Fabricadas"
@@ -3537,7 +3562,7 @@ msgstr "Peças Fabricadas"
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr "Peças Fornecidas"
@@ -3545,30 +3570,31 @@ msgstr "Peças Fornecidas"
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr "Estoque Atribuído"
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr "Editar Empresa"
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr "Ações da Empresa"
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr "Número de Peça do Fabricante"
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr "Parâmetros"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Fornecedores"
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr "Peça do Fabricante"
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr "Quantidade de embalagens"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr "Estoque Recebido"
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr "Editar Peça do Fornecedor"
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr "Adicionar Peça do Fornecedor"
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr "Variante de"
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Categoria"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr "Local Padrão"
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr "Revisão"
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Unidades"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr "Palavras-chave"
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr "Link"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr "Estoque Disponível"
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr "Estoque Mínimo"
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr "No pedido"
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr "Alocado para Pedidos de Construção"
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr "Alocado para Pedidos de Venda"
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr "Pode Produzir"
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr "Produzindo"
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr "Ativo"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr "Peça Montada"
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr "Peça Rastreável"
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr "Criado em"
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
-msgstr ""
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
+msgstr "Fornecedor Padrão"
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr "Fornecedor Padrão"
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Faixa de Preço"
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr "Último Balanço"
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr "Variantes"
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr "Alocações"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr "Usado em"
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr "Fabricantes"
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr "Agendamento"
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr "Testar Modelos"
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr "Peças Relacionadas"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr "No pedido"
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr "Em Produção"
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr "Editar Peça"
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr "Ações de Estoque"
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr "Contagem do estoque"
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr "Transferir estoque de peça"
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr "Ações da Peça"
@@ -3933,82 +3984,281 @@ msgstr "Ações da Peça"
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Componente"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Preço Unitário"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr "Preço Total"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr "Atualizado"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr "Data"
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr "Itens de linha"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr "Envios Concluídos"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Data Prevista"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr "Detalhes do pedido"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr "Ações de Pedido"
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr "Referência do Cliente"
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr "Clientes"
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr "Envios Pendentes"
@@ -4046,19 +4296,19 @@ msgstr "Editar Local de Estoque"
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr "Peça base"
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr "Disponível"
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr "Rastreamento de Estoque"
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr "Dados de Teste"
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr "Itens Instalados"
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr "Itens Filhos"
-#: src/pages/stock/StockDetail.tsx:385
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
+msgstr "Editar Item do Estoque"
+
+#: src/pages/stock/StockDetail.tsx:415
msgid "Stock Operations"
msgstr "Operações de Estoque"
-#: src/pages/stock/StockDetail.tsx:390
+#: src/pages/stock/StockDetail.tsx:420
msgid "Count stock"
msgstr "Contagem de estoque"
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Adicionar estoque"
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/pages/stock/StockDetail.tsx:433
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Remover estoque"
-#: src/pages/stock/StockDetail.tsx:415
+#: src/pages/stock/StockDetail.tsx:445
msgid "Transfer"
msgstr "Transferir"
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Transferir estoque"
-#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
-msgstr "Duplicar item de estoque"
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr "Data"
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Moeda"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr "Preço Total"
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr "Adicionar Filtro"
msgid "Clear Filters"
msgstr "Limpar Filtros"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Nenhum registro encontrado"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr "O servidor retornou um tipo de dado incorreto"
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Requisição inválida"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Não autorizado"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Proibido"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Não encontrado"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr "Remover registros selecionados"
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr "Tem certeza que deseja apagar os registros selecionados?"
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr "Essa ação não pode ser desfeita!"
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr "Registos removidos"
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr "Registros foram removidos com sucesso"
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr "Falha ao remover registros"
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Ações de código de barras"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Ações de impressão"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Atualizar dados"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Filtros da Tabela"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr "Este item da BOM é definido para um pai diferente"
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr "Informação da Peça"
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr "Sem Estoque"
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr "Incluir estoque de substitutos"
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr "Incluir estoque de variantes"
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr "Informação do Estoque"
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr "Item Consumível"
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr "Mostrar itens rastreáveis"
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr "Exibir itens montados"
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr "Mostrar itens com estoque disponível"
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr "Mostrar itens no pedido"
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr "Mostrar itens validados"
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr "Mostrar itens herdados"
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr "Mostrar itens opcionais"
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr "Mostrar itens consumíveis"
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr "Tem Preço"
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr "Exibir itens com preço"
-#: src/tables/bom/BomTable.tsx:278
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:313
+msgid "Edit BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:331
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
msgid "View BOM"
msgstr "Ver BOM"
-#: src/tables/bom/BomTable.tsx:289
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
msgid "Validate BOM line"
msgstr "Validar linha da BOM"
-#: src/tables/bom/BomTable.tsx:297
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
msgid "Edit Substitutes"
msgstr "Editar substitutos"
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
-msgstr "Editar Item da BOM"
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
-#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
-msgstr "Item da BOM atualizado"
-
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
-msgstr "Apagar Item da BOM"
-
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
-msgstr "Item da BOM apagado"
-
-#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
-msgstr "Tem certeza que deseja remover este item da BOM?"
-
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr "Mostrar montagens ativas"
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Rastreável"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr "Mostrar montagens rastreáveis"
@@ -4493,7 +4765,7 @@ msgstr "Mostrar pedidos ativos"
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr "Filtrar por estado do pedido"
@@ -4502,8 +4774,8 @@ msgstr "Filtrar por estado do pedido"
msgid "Show overdue status"
msgstr "Mostrar estados atrasados"
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr "Adicionar Pedido de Produção"
@@ -4528,27 +4800,43 @@ msgstr "Excluir Endereço"
msgid "Are you sure you want to delete this address?"
msgstr "Tem a certeza de que quer apagar esta endereço?"
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr "Nova Empresa"
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr "Adicionar Empresa"
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr "Editar Contato"
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr "Adicionar Contato"
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr "Excluir Contato"
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr "Adicionar contato"
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr "Editar Parâmetro da Peça"
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Incluir Subcategorias"
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr "Novo Parâmetro de Peça"
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr "Apagar Parâmetro da Peça"
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr "Adiciona parâmetro"
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Incluir Variantes"
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr "Mostrar modelos com escolhas"
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Possui unidades"
@@ -4872,88 +5160,79 @@ msgstr "Alocações de Pedido de Produção"
msgid "Sales Order Allocations"
msgstr "Alocações do Pedido de Vendas"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Filtrar por peça em estado ativo"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Montagem"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Filtrar por atributo de montagem"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Incluir peças em subcategorias"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Componente"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Filtrar por atributo do componente"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Filtrar por atributo rastreável"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Filtrar por peças que têm unidades"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Tem IPN"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Filtrar por partes que tenham um número de peça interna"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Tem estoque"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Filtrar por peças que têm estoque"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Filtrar por peças que tenham estoque baixo"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Comprável"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Filtrar por peças que são compráveis"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Vendível"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Filtrar por peças que são vendíveis"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Filtrar por peças que são virtuais"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Não é Virtual"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr "Peça do Fabricante excluída"
msgid "Are you sure you want to remove this manufacturer part?"
msgstr "Tem certeza de que deseja remover esta peça do fabricante?"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr "Descrição da Peça"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr "Quantidade Total"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr "Recebido"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr "Código do Fornecedor"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr "Link do Fornecedor"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr "Código do Fabricante"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Preço Unitário"
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr "Destino"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr "Adicionar Item de Linha"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr "Editar Item de Linha"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr "Excluir Item de Linha"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr "Receber item de linha"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr "Adicionar item de linha"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr "Receber itens"
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr "Adicionar Ordem de Compra"
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr "Unidade base"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Atualizado"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr "Adicionar Peça do Fornecedor"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr "Peça do fornecedor criada"
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr "Adicionar peça do fornecedor"
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
-msgstr "Peça do fornecedor atualizada"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
+msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:205
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:207
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
msgid "Delete Supplier Part"
msgstr "Excluir Peça do Fornecedor"
-#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr "Peça do fornecedor excluída"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
-msgstr "Tem certeza de que deseja remover esta peça do fornecedor?"
-
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr "Adicionar Pedido de Devolução"
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr "Adicionar Pedido de Vendas"
@@ -5793,52 +6081,52 @@ msgstr "Localização Externa"
msgid "Show items in an external location"
msgstr "Mostrar itens com localização externa"
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po
index 6c5f1697f4..2946bba41c 100644
--- a/src/frontend/src/locales/ru/messages.po
+++ b/src/frontend/src/locales/ru/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: ru\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr "Удалить связанное изображение?"
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr "Удалить"
@@ -82,7 +82,7 @@ msgstr "Удалить"
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Отменить"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Очистить"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Ошибка формы"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Успешно"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Форма содержит ошибки"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Обновить"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Удалить"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Вы вошли"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "С возвращением!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Ошибка входа"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Проверьте введенные данные и повторите попытку."
@@ -314,46 +321,45 @@ msgstr "Проверьте введенные данные и повторите
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Отправка почты прошла успешно"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Проверьте свой почтовый ящик на наличие ссылки для входа в систему. Если у вас есть учетная запись, вы получите ссылку для входа в систему. Проверьте также спам."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Ошибка ввода"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Имя пользователя"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Имя пользователя"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Пароль"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Ваш пароль"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Сбросить пароль"
@@ -362,73 +368,77 @@ msgstr "Сбросить пароль"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Электронная почта"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Мы вышлем вам ссылку для входа - если вы зарегистрированы"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Отправьте мне электронное письмо"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Имя пользователя и пароль"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Войти"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Отправить email"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Регистрация выполнена успешно"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Пожалуйста, подтвердите адрес электронной почты для завершения регистрации"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Ошибка ввода"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr "Это будет использовано для подтверждения"
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr "Повторите пароль"
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Введите пароль еще раз"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr "Регистрация"
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Нет аккаунта?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr "Вернуться к логину"
@@ -440,7 +450,7 @@ msgstr "Узел"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Название: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Состояние: <0>рабочий 0> ({0}), <1>плагины1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Ошибка"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Поиск"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Загрузка"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Ничего не найдено"
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Миниатюра"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "Подробнее"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Неизвестная ошибка"
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr "Неизвестная модель: {model}"
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Детали"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Заказы на закупку"
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Заказы на продажу"
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Заказы на возврат"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Проверьте свой почтовый ящик, чтобы получить ссылку на сброс. Это работает только в том случае, если у вас есть учетная запись. Проверьте также спам."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Добро пожаловать, войдите ниже"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Заказы на сборку"
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr "Подробности сборки"
@@ -3407,7 +3427,7 @@ msgstr "Подробности сборки"
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr "Добавить фильтр"
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po
index 469076ba22..a484eb3b1a 100644
--- a/src/frontend/src/locales/sk/messages.po
+++ b/src/frontend/src/locales/sk/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sk\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po
index 94d3210458..e71424d3b8 100644
--- a/src/frontend/src/locales/sl/messages.po
+++ b/src/frontend/src/locales/sl/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sl\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po
index 2520b2f1bd..743f6d6da4 100644
--- a/src/frontend/src/locales/sr/messages.po
+++ b/src/frontend/src/locales/sr/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sr\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Serbian (Latin)\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Greška Obrasca"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Uspešno"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Postoji greška obrasca"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Obnovi"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Obriši"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Prijava uspešna"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Dobrodošli!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Neuspešna prijava"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Proverite svoj unos i pokušajte ponovno."
@@ -314,46 +321,45 @@ msgstr "Proverite svoj unos i pokušajte ponovno."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Isporuka pošte uspešna"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Proverite svoj inbox za link za prijavu. Ako imate račun, dobićete link za prijavu. Proverite i spam."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Greška unosa"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Korisničko ime"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Lozinka"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Vaša lozinka"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Resetujte lozinku"
@@ -362,73 +368,77 @@ msgstr "Resetujte lozinku"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "E-pošta"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Poslaćemo vam link za prijavu - ako ste registrirani"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Pošalji mi e-poštu"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Prijavite se"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Pošalji e-poštu"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Greška unosa"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr "Host"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Naziv: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Status: <0>worker0> ({0}), <1>plugins1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Grеška"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Pretraga"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Učitavanje"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Nema pronađenih rezultata"
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Sličice"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr "Akcije Barkoda"
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr "Linkuj prilagođeni barkod"
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr "Prekini vezu Barkoda"
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr "Obriši stavku"
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr "Dupliciraj"
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "Saznaj više"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Nepoznata greška"
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Dobrodošli, prijavite se ispod"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po
index abda0f4cb2..bcb339e053 100644
--- a/src/frontend/src/locales/sv/messages.po
+++ b/src/frontend/src/locales/sv/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sv\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Avbryt"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr "Rensa"
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Virtuell"
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Radera"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Inlogningen lyckad"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Välkommen tillbaka!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Inloggningen misslyckades"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Kontrollera din inmatning och försök igen."
@@ -314,46 +321,45 @@ msgstr "Kontrollera din inmatning och försök igen."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "E-postleverans lyckad"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Kolla din inkorg för inloggningslänken. Om du har ett konto kommer du att få en inloggningslänk. Kolla in spam också."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Inmatningsfel"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Användarnamn"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Ditt användarnamn"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Lösenord"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Ditt lösenord"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Återställ lösenord"
@@ -362,73 +368,77 @@ msgstr "Återställ lösenord"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "E-post"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Vi skickar en länk till dig för att logga in - om du är registrerad"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Skicka ett e-postmeddelande"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Använd användarnamn och lösenord"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Logga in"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Bekräfta din e-postadress för att slutföra registreringen"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Inmatningsfel"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr "Upprepa lösenord"
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr "Eller använd SSO"
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr "Har du inget konto?"
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr "Värd"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Namn: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Fel"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Sök"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Inga resultat hittades"
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Miniatyrbild"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "Läs mer"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Okänt fel"
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr "Sök..."
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "Artkel"
@@ -1056,7 +1065,7 @@ msgstr "Artkel"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Artiklar"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr "Projektkoder"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Inköpsorder"
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Försäljningsorder"
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Returorder"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr "Lagersaldo"
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Antal"
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr "Senast uppdaterade"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Få i lager"
@@ -2056,7 +2065,7 @@ msgstr "Aktuella nyheter"
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Webbplats"
@@ -2073,8 +2082,8 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr "Skanna streckkod"
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr "Ändra status"
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr "Åtgärder"
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
+msgstr ""
+
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Utloggningen lyckad"
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr "Du har blivit utloggad"
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Kolla din inkorg för en återställningslänk. Detta fungerar bara om du har ett konto. Kontrollera även i skräppost."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Återställningen misslyckades"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Inte implementerad"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Denna funktionen har inte implementerats"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr "Kontrollerar om du redan är inloggad"
msgid "No selection"
msgstr "Inget val"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Välkommen, logga in nedan"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr "Rapporter"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr "Streckkoder"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Byggordrar"
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Status"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr "Beskrivning"
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr "Telefonnummer"
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr "E-postadress"
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr "Redigera företag"
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr "Parametrar"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Kategori"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr "IAN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Enheter"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr "Länk"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr "Aktiv"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Prisintervall"
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Komponent"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr "Valuta"
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr "Lägg till filter"
msgid "Clear Filters"
msgstr "Rensa filter"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Inga resultat hittades"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Felaktig begäran"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Ej behörig"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Otillåten"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Hittades inte"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Streckkods åtgärder"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Skriv ut åtgärder"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Uppdatera data"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Tabellfilter"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Spårbart objekt"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr "Radera adress"
msgid "Are you sure you want to delete this address?"
msgstr "Är du säker på att du vill radera denna adress?"
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr "Radera kontakt"
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Inkludera underkategorier"
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Har enheter"
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Filtrera på aktiv artiklestatus"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Montering"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Filtrera efter monteringsattribut"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Inkludera artiklar från underkategorier"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Komponent"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Filtrera efter komponentattribut"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Filtrera på spårbart attribut"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Filtrera efter artiklar som har enheter"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Har IAN"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Filtrera efter artiklar som har ett internt artikelnummer"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "I lager"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Filtrera efter artiklar som har enheter"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Filtrera på ariklar som har lågt saldo"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Kan köpas"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Filtrera på artiklar som kan köpas"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Försäljningsbar"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Filtrera på artiklar som kan säljas"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Filtrera efter artiklar som är virtuella"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Inte virtuell"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr "Resultat"
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po
index e1ba5f7f50..7cd5afdcf2 100644
--- a/src/frontend/src/locales/th/messages.po
+++ b/src/frontend/src/locales/th/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: th\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po
index 3be222bde4..baaaa9cb00 100644
--- a/src/frontend/src/locales/tr/messages.po
+++ b/src/frontend/src/locales/tr/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: tr\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Vazgeç"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Sanal"
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Başarılı"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Oturum açıldı"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Tekrar Hoş Geldiniz!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Giriş başarısız"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Lütfen bilgilerinizi kontrol edin ve yeniden giriş yapın."
@@ -314,46 +321,45 @@ msgstr "Lütfen bilgilerinizi kontrol edin ve yeniden giriş yapın."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "E-posta teslimi başarılı"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Gelen kutunuzu kontrol edin. Eğer hesabınız varsa giriş yapabilmeniz için bir link alacaksınız. Spam klasörünüzü de kontrol edin."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Hatalı giriş"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Kullanıcı Adı"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Parola"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Parolanız"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Parolayı sıfırla"
@@ -362,73 +368,77 @@ msgstr "Parolayı sıfırla"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "E-posta"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Size giriş yapabilmeniz için bir link göndereceğiz - eğer kayıtlıysanız"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Bize bir eposta gönderin"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Hatalı giriş"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr "Sunucu"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "İsim: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Durum: <0>worker0> ({0}), <1>eklenti1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Hata"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Yükleniyor"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Küçük resim"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "Devamını Oku"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Bilinmeyen hata"
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "Parça"
@@ -1056,7 +1065,7 @@ msgstr "Parça"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Parçalar"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Satın Alma Emirleri"
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Satış Emirleri"
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "İade Emirleri"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr "Stok"
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Miktar"
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr "Son Güncellenenler"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Düşük Stok"
@@ -2056,7 +2065,7 @@ msgstr "Güncel Haberler"
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Web Sitesi"
@@ -2073,8 +2082,8 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr "Eylemler"
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Çıkış başarılı"
-
-#: src/functions/auth.tsx:71
-msgid "You have been logged out"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
+#: src/functions/auth.tsx:71
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
+
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr "Zaten giriş yapıp yapmadığınız kontrol ediliyor"
msgid "No selection"
msgstr "Seçim yok"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Hoşgeldiniz, aşağıdan giriş yapın"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Yapım İşi Emirleri"
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Durum"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr "Açıklama"
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Kategori"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr "DPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Birim"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr "Bağlantı"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr "Aktif"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Fiyat Aralığı"
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Bileşen"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr "Filtre Ekle"
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Hiç kayıt bulunamadı"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Hatalı istek"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Yetkisiz"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Yasaklı"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Bulunamadı"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Barkod işlemleri"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Yazdırma işlemleri"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Veriyi yenile"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Tablo filtreleri"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Takip Edilebilir"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Alt Kategorileri Dahil Et"
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Birimi Var"
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Parçanın aktiflik durumuna göre filtrele"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Montaj"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Montaj niteliğine göre filtrele"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Alt kategorilerdeki parçaları dahil et"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Bileşen"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Bileşen niteliğine göre filtrele"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Takip edilebilirliğine göre filtrele"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Birimi olan parçaları filtrele"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "DPN Var"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Dahili parça numarası bulunan parçaları filtrele"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Stoğu Var"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Stoğu olan parçaları filtrele"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Düşük stoğu olan parçaları filtrele"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Satın Alınabilir"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Satın alınabilir parçaları filtrele"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Satılabilir"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Satılabilir parçaları filtrele"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Sanal parçaları filtrele"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Sanal Değil"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po
index 4336b934cf..4b6e50a142 100644
--- a/src/frontend/src/locales/vi/messages.po
+++ b/src/frontend/src/locales/vi/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: vi\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "Hủy bỏ"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr "Ảo"
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr "Lỗi form"
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr "Thành công"
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr "Từ các lỗi hiện hữu"
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr "Cập nhật"
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr "Xóa"
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr "Đăng nhập thành công"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
-msgstr "Chào mừng bạn đã trở lại!"
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr "Đăng nhập thất bại"
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr "Kiểm tra đầu vào của bạn và thử lại."
@@ -314,46 +321,45 @@ msgstr "Kiểm tra đầu vào của bạn và thử lại."
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr "Thư đã được gửi đi thành công"
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr "Kiểm tra hộp thư để nhận liên kết đăng nhập. Nếu bạn đã có tài khoản, bạn sẽ nhận một liên kết đăng nhập. Kiểm tra đồng thời thư mục spam."
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
-msgstr "Lỗi đầu vào"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
+msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr "Hoặc tiếp tục với phương thức khác"
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "Tên người dùng"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr "Tên người dùng của bạn"
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "Mật khẩu"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr "Mật khẩu của bạn"
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr "Đặt lại mật khẩu"
@@ -362,73 +368,77 @@ msgstr "Đặt lại mật khẩu"
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr "Địa chỉ email"
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr "Chúng tôi sẽ gửi bạn 1 liên kết để đăng nhập - nếu bạn đã đăng ký"
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr "Gửi email cho chúng tôi"
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr "Dùng tên đăng nhập và mật khẩu"
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr "Đăng nhập"
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr "Gửi email"
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "Đăng kí thành công"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr "Vui xác nhận địa chỉ email của bạn để hoàn thành việc đăng ký"
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr "Lỗi đầu vào"
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr "Host"
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr "Tên: {0}"
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr "Trạng thái: <0>worker0> ({0}), <1>plugins1>{1}"
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr "Lỗi"
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "Tìm kiếm"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr "Đang tải"
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "Không có kết quả nào được tìm thấy"
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "Ảnh thu nhỏ"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr "Chức năng mã vạch"
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr "Liên kết mã vạch tùy chỉnh"
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr "Gỡ liên kết mã vạch"
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr "Xoá mặt hàng"
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr "Nhân bản"
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr "Xem thêm"
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr "Lỗi không xác định"
@@ -871,12 +881,12 @@ msgstr "Phiên bản"
msgid "Server Version"
msgstr "Phiên bản máy chủ"
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr "Model không rõ: {model}"
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr "Phụ kiện"
@@ -1056,7 +1065,7 @@ msgstr "Phụ kiện"
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr "Phụ tùng"
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr "Phụ kiện nhà cung cấp"
@@ -1104,12 +1113,12 @@ msgstr "Danh mục phụ kiện"
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr "Hàng trong kho"
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr "Công ty"
@@ -1170,15 +1179,16 @@ msgstr "Mã dự án"
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr "Đơn đặt mua"
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr "Đơn hàng mua"
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr "Đơn đặt bán"
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr "Đơn hàng bán"
@@ -1217,13 +1227,13 @@ msgstr "Vận chuyển đơn hàng"
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr "Đơn hàng trả lại"
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr "Đơn hàng trả lại"
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr "Địa chỉ"
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr "Địa chỉ"
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr "Liên hệ"
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr "Danh bạ"
@@ -1276,24 +1286,27 @@ msgstr "Lô hàng"
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr "Kho hàng"
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr "Số lượng"
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr "Mới Cập Nhật"
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr "Còn ít hàng"
@@ -2056,7 +2065,7 @@ msgstr "Tin hiện tại"
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr "Trang web"
@@ -2073,8 +2082,8 @@ msgstr "Demo"
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr "Mua sắm"
@@ -2082,9 +2091,9 @@ msgstr "Mua sắm"
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr "Bán hàng"
@@ -2287,75 +2296,75 @@ msgstr "Danh mục phụ kiện cha"
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr "Điền số sê-ri cho kho mới (hoặc để trống)"
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr "Sửa hàng trong kho"
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr "Kho hàng đã được cập nhật"
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr "Còn hàng"
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr "Chức năng"
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr "Thêm"
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr "Đếm"
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
-msgstr "Đăng xuất thành công"
-
-#: src/functions/auth.tsx:71
-msgid "You have been logged out"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
+#: src/functions/auth.tsx:71
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
+
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr "Kiểm tra hộp thư để lấy liên kết đặt lại. Việc này chỉ có tác dụng khi bạn có tài khoản. Cần kiểm tra thư mục Spam/Junk."
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr "Thiết lập lại thất bại"
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr "Mẫu không hợp lệ"
msgid "method parameter not supplied"
msgstr "tham số phương thức không được cung cấp"
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr "Chưa triển khai"
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr "Tính năng này vẫn chưa được triển khai"
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr "Quyền truy cập bị từ chối"
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr "Bạn không có quyền thực hiện hành động này"
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr "Mã trả hàng không hợp lệ"
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr "Mã phản hồi của máy chủ {returnCode}"
@@ -2584,11 +2602,11 @@ msgstr "Đang kiểm tra trạng thái đăng nhập của bạn"
msgid "No selection"
msgstr "Không có lựa chọn"
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr "Chào bạn, đăng nhập bên dưới"
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr "Hóa đơn nguyên vật liệu"
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr "Mã vạch"
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr "Giá bán"
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr "Báo cáo"
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr "Kiểm kê"
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr "Đơn đặt bản dựng"
@@ -3310,36 +3330,36 @@ msgstr "Đánh dấu chưa đọc"
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr "Trạng thái"
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr "Mô tả"
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr "Đầu ra hoàn thiện"
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr "Chịu trách nhiệm"
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr "Chi tiết bản dựng"
@@ -3407,7 +3427,7 @@ msgstr "Chi tiết bản dựng"
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr "Phân kho"
@@ -3416,7 +3436,7 @@ msgstr "Phân kho"
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr "Đầu ra chưa hoàn hiện"
@@ -3432,48 +3452,48 @@ msgstr "Đầu ra chưa hoàn hiện"
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr "Kho tiêu thụ"
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr "Đơn đặt bản dựng con"
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr "Đính kèm"
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr "Ghi chú"
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr "Nhà cung cấp"
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr "Nhà sản xuất"
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr "Chi tiết"
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr "Sửa doanh nghiệp"
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr "Thông số"
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr "Nhà cung cấp"
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr "Số lượng gói"
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr "Sửa sản phẩm nhà cung cấp"
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr "Thêm sản phẩm nhà cung cấp"
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr "Danh mục"
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr "IPN"
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr "Đơn vị"
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr "Liên kết"
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr "Hoạt động"
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr "Khoảng giá"
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr "Biến thể"
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr "Phân bổ"
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr "Sử dụng trong"
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr "Mẫu thử nghiệm"
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr "Phụ kiện liên quan"
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr "On Order"
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr "Sửa phụ kiện"
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr "Thành phần"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr "Đơn giá"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr "Đã cập nhật"
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr "Dòng hàng hóa"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr "Ngày mục tiêu"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr "Chi tiết đơn đặt"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr "Chức năng đơn đặt"
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr "Sản phẩm cơ bản"
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr "Có sẵn"
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr "Theo dõi tồn kho"
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr "Mục đã cài đặt"
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr "Mục con"
-#: src/pages/stock/StockDetail.tsx:385
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
+msgstr "Sửa hàng trong kho"
+
+#: src/pages/stock/StockDetail.tsx:415
msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:390
+#: src/pages/stock/StockDetail.tsx:420
msgid "Count stock"
msgstr "Đếm hàng"
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
msgid "Add stock"
msgstr "Thêm hàng"
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
+#: src/pages/stock/StockDetail.tsx:433
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
msgid "Remove stock"
msgstr "Xóa hàng"
-#: src/pages/stock/StockDetail.tsx:415
+#: src/pages/stock/StockDetail.tsx:445
msgid "Transfer"
msgstr "Chuyển"
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
msgid "Transfer stock"
msgstr "Chuyển giao hàng"
-#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
-msgstr "Nhân bản mặt hàng"
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr "Thêm bộ lọc"
msgid "Clear Filters"
msgstr "Xóa bộ lọc"
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr "Không tìm thấy biểu ghi"
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr "Yêu cầu không hợp lệ"
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr "Chưa cấp quyền"
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr "Bị cấm"
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr "Không tìm thấy"
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr "Chức năng mã vạch"
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr "Chức năng in ấn"
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr "Làm mới dữ liệu"
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr "Bộ lọc bảng"
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr "Có thể theo dõi"
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr "Sửa tham số phụ kiện"
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr "Bao gồm danh mục con"
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr "Xóa tham số phụ kiện"
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr "Bao gồm các biến thể"
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr "Có đơn vị"
@@ -4872,88 +5160,79 @@ msgstr "Phân bổ đơn hàng bản dựng"
msgid "Sales Order Allocations"
msgstr "Phân bổ đơn hàng bán"
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr "Lọc theo trạng thái mở phụ kiện"
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr "Lắp ráp"
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr "Lọc theo thuộc tính lắp ráp"
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr "Bao gồm phụ kiên trong danh mục con"
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr "Thành phần"
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr "Lọc theo thuộc tính thành phần"
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr "Lọc theo thuộc tính có thể theo dõi"
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr "Lọc theo phụ kiện có chứa đơn vị"
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr "Có IPN"
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr "Lọc theo sản phẩm có số sản phẩm nội bộ"
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr "Có kho"
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr "Lọc theo sản phẩm có trong kho"
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr "Lọc theo sản phẩm có ít hàng"
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr "Có thể mua"
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr "Lọc theo sản phẩm có thể mua"
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr "Có thể bán"
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr "Lọc theo sản phẩm có thể bán"
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr "Lọc theo sản phẩm ảo"
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr "Không ảo"
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr "Mô tả sản phẩm"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr "Tổng số lượng"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr "Đã nhận"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr "Mã nhà cung cấp"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr "Liên kết nhà cung cấp"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr "Mã nhà sản xuất"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr "Đơn giá"
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr "Đích đến"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr "Thêm hạng mục"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr "Sửa hạng mục"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr "Nhận hạng mục"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr "Thêm hạng mục"
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr "Nhận hàng hóa"
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr "MPN"
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr "Đơn vị cơ sở"
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr "Đã cập nhật"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr "Thêm sản phẩm nhà cung cấp"
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr "Đã tạo sản phẩm nhà cung cấp"
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr "Thêm sản phẩm nhà cung cấp"
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
-msgstr "Cập nhật sản phẩm nhà cung cấp"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
+msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/zh-hans/messages.po b/src/frontend/src/locales/zh-hans/messages.po
index 9e32f1c1ca..0563bb1be8 100644
--- a/src/frontend/src/locales/zh-hans/messages.po
+++ b/src/frontend/src/locales/zh-hans/messages.po
@@ -64,10 +64,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -77,7 +77,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -95,7 +95,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -126,6 +126,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -158,8 +161,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -241,32 +244,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -275,136 +278,143 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
+#: src/pages/Auth/Reset.tsx:31
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
+msgid "Email"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:133
+#: src/pages/Auth/Reset.tsx:32
+#: src/pages/Auth/Set-Password.tsx:107
+msgid "We will send you a link to login - if you are registered"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:136
#~ msgid "I will use username and password"
#~ msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
-#: src/pages/Auth/Reset.tsx:31
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
-msgid "Email"
-msgstr ""
-
-#: src/components/forms/AuthenticationForm.tsx:139
-#: src/pages/Auth/Reset.tsx:32
-#: src/pages/Auth/Set-Password.tsx:107
-msgid "We will send you a link to login - if you are registered"
-msgstr ""
-
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -416,7 +426,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -467,34 +477,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -511,12 +522,12 @@ msgstr ""
#~ msgstr ""
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -537,7 +548,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -558,7 +569,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -572,7 +582,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -847,12 +857,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1001,19 +1011,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1024,7 +1033,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1045,10 +1054,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1072,12 +1081,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1118,7 +1127,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1138,15 +1147,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1161,16 +1171,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1185,13 +1195,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1202,19 +1212,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1244,24 +1254,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1671,10 +1684,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr ""
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr ""
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr ""
@@ -1963,7 +1972,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2012,7 +2021,7 @@ msgid "Current News"
msgstr ""
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2029,8 +2038,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2038,9 +2047,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2179,75 +2188,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2272,97 +2281,94 @@ msgstr ""
#~ msgstr ""
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr ""
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2374,38 +2380,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr ""
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr ""
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr ""
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr ""
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr ""
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2423,27 +2441,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2472,14 +2490,18 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -2932,7 +2954,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -2949,7 +2971,7 @@ msgstr ""
#~ msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -2983,8 +3005,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr ""
@@ -3002,15 +3022,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3066,36 +3086,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3106,40 +3126,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3154,7 +3174,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3163,7 +3183,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3172,7 +3192,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3188,48 +3208,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3241,51 +3261,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3293,7 +3318,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3301,30 +3326,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3338,12 +3364,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3361,58 +3387,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3459,308 +3497,520 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:504
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -3798,19 +4048,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -3818,104 +4068,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr ""
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr ""
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -3997,200 +4241,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4245,7 +4517,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4254,8 +4526,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4280,27 +4552,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4505,14 +4793,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4553,20 +4841,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr ""
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4588,7 +4876,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4624,88 +4912,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5054,113 +5333,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5545,52 +5833,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5627,8 +5915,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5636,61 +5924,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/zh-hant/messages.po b/src/frontend/src/locales/zh-hant/messages.po
index 414e0cdd7b..a7cac5bbc3 100644
--- a/src/frontend/src/locales/zh-hant/messages.po
+++ b/src/frontend/src/locales/zh-hant/messages.po
@@ -64,10 +64,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -77,7 +77,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr ""
@@ -95,7 +95,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -126,6 +126,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -158,8 +161,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -241,32 +244,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -275,136 +278,143 @@ msgstr ""
msgid "Delete"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
+#: src/pages/Auth/Reset.tsx:31
+#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
+msgid "Email"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:133
+#: src/pages/Auth/Reset.tsx:32
+#: src/pages/Auth/Set-Password.tsx:107
+msgid "We will send you a link to login - if you are registered"
+msgstr ""
+
#: src/components/forms/AuthenticationForm.tsx:136
#~ msgid "I will use username and password"
#~ msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
-#: src/pages/Auth/Reset.tsx:31
-#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
-msgid "Email"
-msgstr ""
-
-#: src/components/forms/AuthenticationForm.tsx:139
-#: src/pages/Auth/Reset.tsx:32
-#: src/pages/Auth/Set-Password.tsx:107
-msgid "We will send you a link to login - if you are registered"
-msgstr ""
-
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -416,7 +426,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -467,34 +477,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr ""
@@ -511,12 +522,12 @@ msgstr ""
#~ msgstr ""
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr ""
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -537,7 +548,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -558,7 +569,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -572,7 +582,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -847,12 +857,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1001,19 +1011,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:763
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1024,7 +1033,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:629
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1045,10 +1054,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1072,12 +1081,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1118,7 +1127,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1138,15 +1147,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:562
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1161,16 +1171,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:568
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1185,13 +1195,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1202,19 +1212,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1244,24 +1254,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:485
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1671,10 +1684,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr ""
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr ""
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr ""
@@ -1963,7 +1972,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2012,7 +2021,7 @@ msgid "Current News"
msgstr ""
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2029,8 +2038,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2038,9 +2047,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2179,75 +2188,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2272,97 +2281,94 @@ msgstr ""
#~ msgstr ""
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr ""
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:645
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:721
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:710
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2374,38 +2380,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr ""
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr ""
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr ""
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr ""
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr ""
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr ""
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2423,27 +2441,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2472,14 +2490,18 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -2932,7 +2954,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -2949,7 +2971,7 @@ msgstr ""
#~ msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:510
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -2983,8 +3005,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:531
msgid "Pricing"
msgstr ""
@@ -3002,15 +3022,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:580
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:517
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3066,36 +3086,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3106,40 +3126,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3154,7 +3174,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3163,7 +3183,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3172,7 +3192,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3188,48 +3208,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr ""
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:602
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:614
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3241,51 +3261,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3293,7 +3318,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3301,30 +3326,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr ""
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3338,12 +3364,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:479
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:549
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3361,58 +3387,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3459,308 +3497,520 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr ""
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:473
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:497
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:504
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:524
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:536
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:575
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:585
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:596
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:650
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:655
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:660
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:672
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:703
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:711
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:722
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:732
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -3798,19 +4048,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -3818,104 +4068,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr ""
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr ""
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr ""
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -3997,200 +4241,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr ""
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4245,7 +4517,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4254,8 +4526,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4280,27 +4552,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4505,14 +4793,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4553,20 +4841,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr ""
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4588,7 +4876,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4624,88 +4912,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5054,113 +5333,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5545,52 +5833,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5627,8 +5915,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5636,61 +5924,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/locales/zh/messages.po b/src/frontend/src/locales/zh/messages.po
index e246f90c1e..2f9175d665 100644
--- a/src/frontend/src/locales/zh/messages.po
+++ b/src/frontend/src/locales/zh/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: zh\n"
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-04-15 02:34\n"
+"PO-Revision-Date: 2024-04-21 04:19\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Plural-Forms: nplurals=1; plural=0;\n"
@@ -69,10 +69,10 @@ msgid "Remove the associated image from this item?"
msgstr ""
#: src/components/details/DetailsImage.tsx:70
-#: src/forms/StockForms.tsx:450
+#: src/forms/StockForms.tsx:427
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299
-#: src/pages/stock/StockDetail.tsx:407
+#: src/pages/stock/StockDetail.tsx:437
msgid "Remove"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
#: src/functions/forms.tsx:196
#: src/hooks/UseForm.tsx:39
#: src/tables/FilterSelectDrawer.tsx:218
-#: src/tables/InvenTreeTable.tsx:472
+#: src/tables/InvenTreeTable.tsx:474
#: src/tables/plugin/PluginListTable.tsx:361
msgid "Cancel"
msgstr "取消"
@@ -100,7 +100,7 @@ msgid "Clear"
msgstr ""
#: src/components/details/DetailsImage.tsx:226
-#: src/components/forms/ApiForm.tsx:490
+#: src/components/forms/ApiForm.tsx:529
#: src/contexts/ThemeContext.tsx:65
#: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:51
msgid "Submit"
@@ -131,6 +131,9 @@ msgid "Part is not active"
msgstr ""
#: src/components/details/PartIcons.tsx:34
+#: src/pages/company/CompanyDetail.tsx:299
+#: src/pages/company/SupplierPartDetail.tsx:310
+#: src/pages/part/PartDetail.tsx:662
msgid "Inactive"
msgstr ""
@@ -163,8 +166,8 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: src/components/details/PartIcons.tsx:82
-#: src/tables/part/PartTable.tsx:242
-#: src/tables/part/PartTable.tsx:246
+#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:247
#: src/tables/part/PartVariantTable.tsx:25
msgid "Virtual"
msgstr ""
@@ -246,32 +249,32 @@ msgstr ""
msgid "Error rendering template"
msgstr ""
-#: src/components/forms/ApiForm.tsx:130
+#: src/components/forms/ApiForm.tsx:133
#: src/functions/forms.tsx:259
msgid "Form Error"
msgstr ""
-#: src/components/forms/ApiForm.tsx:336
+#: src/components/forms/ApiForm.tsx:393
#: src/components/widgets/MarkdownEditor.tsx:146
msgid "Success"
msgstr ""
-#: src/components/forms/ApiForm.tsx:427
+#: src/components/forms/ApiForm.tsx:468
msgid "Form Errors Exist"
msgstr ""
-#: src/components/forms/ApiForm.tsx:527
+#: src/components/forms/ApiForm.tsx:566
#: src/tables/plugin/PluginListTable.tsx:441
msgid "Update"
msgstr ""
-#: src/components/forms/ApiForm.tsx:547
+#: src/components/forms/ApiForm.tsx:586
#: src/components/items/ActionDropdown.tsx:199
#: src/functions/forms.tsx:299
#: src/hooks/UseForm.tsx:121
#: src/pages/Index/Scan.tsx:332
#: src/pages/Notifications.tsx:123
-#: src/tables/InvenTreeTable.tsx:471
+#: src/tables/InvenTreeTable.tsx:473
#: src/tables/RowActions.tsx:72
#: src/tables/plugin/PluginListTable.tsx:473
#: src/tables/settings/TemplateTable.tsx:105
@@ -286,26 +289,30 @@ msgstr ""
#~ msgid "Check your your input and try again."
#~ msgstr "Check your your input and try again."
-#: src/components/forms/AuthenticationForm.tsx:51
+#: src/components/forms/AuthenticationForm.tsx:49
msgid "Login successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:52
-msgid "Welcome back!"
+#: src/components/forms/AuthenticationForm.tsx:50
+msgid "Logged in successfully"
msgstr ""
+#: src/components/forms/AuthenticationForm.tsx:52
+#~ msgid "Welcome back!"
+#~ msgstr "Welcome back!"
+
#: src/components/forms/AuthenticationForm.tsx:53
#~ msgid "Login successfull"
#~ msgstr "Login successfull"
-#: src/components/forms/AuthenticationForm.tsx:59
+#: src/components/forms/AuthenticationForm.tsx:56
msgid "Login failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:60
-#: src/components/forms/AuthenticationForm.tsx:80
-#: src/components/forms/AuthenticationForm.tsx:217
-#: src/functions/auth.tsx:116
+#: src/components/forms/AuthenticationForm.tsx:57
+#: src/components/forms/AuthenticationForm.tsx:74
+#: src/components/forms/AuthenticationForm.tsx:209
+#: src/functions/auth.tsx:111
msgid "Check your input and try again."
msgstr ""
@@ -314,46 +321,45 @@ msgstr ""
#~ msgid "Mail delivery successfull"
#~ msgstr "Mail delivery successfull"
-#: src/components/forms/AuthenticationForm.tsx:71
-#: src/functions/auth.tsx:107
+#: src/components/forms/AuthenticationForm.tsx:68
+#: src/functions/auth.tsx:102
msgid "Mail delivery successful"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:72
+#: src/components/forms/AuthenticationForm.tsx:69
msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too."
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:79
-#: src/components/forms/AuthenticationForm.tsx:216
-msgid "Input error"
+#: src/components/forms/AuthenticationForm.tsx:73
+msgid "Mail delivery failed"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:99
+#: src/components/forms/AuthenticationForm.tsx:93
msgid "Or continue with other methods"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:110
-#: src/components/forms/AuthenticationForm.tsx:234
+#: src/components/forms/AuthenticationForm.tsx:104
+#: src/components/forms/AuthenticationForm.tsx:225
msgid "Username"
msgstr "使用者帳號"
-#: src/components/forms/AuthenticationForm.tsx:111
-#: src/components/forms/AuthenticationForm.tsx:235
+#: src/components/forms/AuthenticationForm.tsx:105
+#: src/components/forms/AuthenticationForm.tsx:226
msgid "Your username"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:116
-#: src/components/forms/AuthenticationForm.tsx:247
+#: src/components/forms/AuthenticationForm.tsx:110
+#: src/components/forms/AuthenticationForm.tsx:238
#: src/pages/Auth/Set-Password.tsx:106
msgid "Password"
msgstr "密碼"
-#: src/components/forms/AuthenticationForm.tsx:117
-#: src/components/forms/AuthenticationForm.tsx:248
+#: src/components/forms/AuthenticationForm.tsx:111
+#: src/components/forms/AuthenticationForm.tsx:239
msgid "Your password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:129
+#: src/components/forms/AuthenticationForm.tsx:123
#: src/pages/Auth/Reset.tsx:26
msgid "Reset password"
msgstr ""
@@ -362,73 +368,77 @@ msgstr ""
#~ msgid "Log in"
#~ msgstr "Log in"
-#: src/components/forms/AuthenticationForm.tsx:136
-#~ msgid "I will use username and password"
-#~ msgstr "I will use username and password"
-
-#: src/components/forms/AuthenticationForm.tsx:138
-#: src/components/forms/AuthenticationForm.tsx:240
+#: src/components/forms/AuthenticationForm.tsx:132
+#: src/components/forms/AuthenticationForm.tsx:231
#: src/pages/Auth/Reset.tsx:31
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:49
msgid "Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:139
+#: src/components/forms/AuthenticationForm.tsx:133
#: src/pages/Auth/Reset.tsx:32
#: src/pages/Auth/Set-Password.tsx:107
msgid "We will send you a link to login - if you are registered"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:155
+#: src/components/forms/AuthenticationForm.tsx:136
+#~ msgid "I will use username and password"
+#~ msgstr "I will use username and password"
+
+#: src/components/forms/AuthenticationForm.tsx:149
msgid "Send me an email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:157
+#: src/components/forms/AuthenticationForm.tsx:151
msgid "Use username and password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:166
+#: src/components/forms/AuthenticationForm.tsx:160
msgid "Log In"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:168
+#: src/components/forms/AuthenticationForm.tsx:162
msgid "Send Email"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:197
+#: src/components/forms/AuthenticationForm.tsx:191
msgid "Registration successful"
msgstr "註冊成功"
-#: src/components/forms/AuthenticationForm.tsx:198
+#: src/components/forms/AuthenticationForm.tsx:192
msgid "Please confirm your email address to complete the registration"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:241
+#: src/components/forms/AuthenticationForm.tsx:208
+msgid "Input error"
+msgstr ""
+
+#: src/components/forms/AuthenticationForm.tsx:232
msgid "This will be used for a confirmation"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:253
+#: src/components/forms/AuthenticationForm.tsx:244
msgid "Password repeat"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:254
+#: src/components/forms/AuthenticationForm.tsx:245
msgid "Repeat password"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:266
-#: src/components/forms/AuthenticationForm.tsx:311
+#: src/components/forms/AuthenticationForm.tsx:257
+#: src/components/forms/AuthenticationForm.tsx:302
msgid "Register"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:272
+#: src/components/forms/AuthenticationForm.tsx:263
msgid "Or use SSO"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:303
+#: src/components/forms/AuthenticationForm.tsx:294
msgid "Don't have an account?"
msgstr ""
-#: src/components/forms/AuthenticationForm.tsx:322
+#: src/components/forms/AuthenticationForm.tsx:313
msgid "Go back to login"
msgstr ""
@@ -440,7 +450,7 @@ msgstr ""
#: src/components/forms/HostOptionsForm.tsx:42
#: src/components/forms/HostOptionsForm.tsx:69
#: src/pages/part/CategoryDetail.tsx:72
-#: src/pages/part/PartDetail.tsx:121
+#: src/pages/part/PartDetail.tsx:116
#: src/pages/stock/LocationDetail.tsx:79
#: src/tables/machine/MachineTypeTable.tsx:65
#: src/tables/machine/MachineTypeTable.tsx:106
@@ -491,34 +501,35 @@ msgstr ""
msgid "State: <0>worker0> ({0}), <1>plugins1>{1}"
msgstr ""
-#: src/components/forms/fields/ApiFormField.tsx:284
+#: src/components/forms/fields/ApiFormField.tsx:278
#: src/components/modals/LicenseModal.tsx:72
#: src/components/nav/SearchDrawer.tsx:411
#: src/components/widgets/MarkdownEditor.tsx:108
#: src/components/widgets/MarkdownEditor.tsx:154
#: src/pages/ErrorPage.tsx:12
#: src/pages/ErrorPage.tsx:25
-#: src/tables/InvenTreeTable.tsx:428
-#: src/tables/InvenTreeTable.tsx:504
+#: src/pages/part/PartPricingPanel.tsx:71
+#: src/tables/InvenTreeTable.tsx:430
+#: src/tables/InvenTreeTable.tsx:506
#: src/tables/plugin/PluginListTable.tsx:398
-#: src/tables/stock/StockItemTestResultTable.tsx:321
+#: src/tables/stock/StockItemTestResultTable.tsx:319
msgid "Error"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:296
+#: src/components/forms/fields/RelatedModelField.tsx:297
#: src/pages/Index/Settings/UserSettings.tsx:64
#: src/tables/Search.tsx:23
msgid "Search"
msgstr "搜尋"
-#: src/components/forms/fields/RelatedModelField.tsx:297
+#: src/components/forms/fields/RelatedModelField.tsx:298
#: src/components/modals/AboutInvenTreeModal.tsx:81
#: src/components/widgets/WidgetLayout.tsx:134
#: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309
msgid "Loading"
msgstr ""
-#: src/components/forms/fields/RelatedModelField.tsx:299
+#: src/components/forms/fields/RelatedModelField.tsx:300
msgid "No results found"
msgstr "找不到結果"
@@ -535,12 +546,12 @@ msgstr ""
#~ msgstr "Select image"
#: src/components/images/Thumbnail.tsx:14
-#: src/components/images/Thumbnail.tsx:51
+#: src/components/images/Thumbnail.tsx:65
msgid "Thumbnail"
msgstr "縮圖"
#: src/components/items/ActionDropdown.tsx:110
-#: src/pages/build/BuildDetail.tsx:298
+#: src/pages/build/BuildDetail.tsx:299
msgid "Barcode Actions"
msgstr ""
@@ -561,7 +572,7 @@ msgid "Link custom barcode"
msgstr ""
#: src/components/items/ActionDropdown.tsx:161
-#: src/forms/PurchaseOrderForms.tsx:356
+#: src/forms/PurchaseOrderForms.tsx:367
msgid "Unlink Barcode"
msgstr ""
@@ -582,7 +593,6 @@ msgid "Delete item"
msgstr ""
#: src/components/items/ActionDropdown.tsx:218
-#: src/pages/stock/StockDetail.tsx:432
#: src/tables/RowActions.tsx:32
msgid "Duplicate"
msgstr ""
@@ -596,7 +606,7 @@ msgid "Read More"
msgstr ""
#: src/components/items/ErrorItem.tsx:5
-#: src/tables/InvenTreeTable.tsx:420
+#: src/tables/InvenTreeTable.tsx:422
msgid "Unknown error"
msgstr ""
@@ -871,12 +881,12 @@ msgstr ""
msgid "Server Version"
msgstr ""
-#: src/components/nav/Layout.tsx:54
+#: src/components/nav/Layout.tsx:52
#: src/tables/part/PartThumbTable.tsx:190
msgid "Search..."
msgstr ""
-#: src/components/nav/Layout.tsx:56
+#: src/components/nav/Layout.tsx:54
msgid "Nothing found..."
msgstr ""
@@ -1033,19 +1043,18 @@ msgid "Unknown model: {model}"
msgstr ""
#: src/components/render/ModelType.tsx:21
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:49
-#: src/pages/build/BuildDetail.tsx:79
-#: src/pages/part/PartDetail.tsx:765
+#: src/pages/build/BuildDetail.tsx:78
+#: src/pages/part/PartDetail.tsx:778
#: src/tables/part/RelatedPartTable.tsx:45
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:70
msgid "Part"
msgstr ""
@@ -1056,7 +1065,7 @@ msgstr ""
#: src/pages/part/CategoryDetail.tsx:104
#: src/pages/part/CategoryDetail.tsx:183
#: src/pages/part/CategoryDetail.tsx:213
-#: src/pages/part/PartDetail.tsx:631
+#: src/pages/part/PartDetail.tsx:627
msgid "Parts"
msgstr ""
@@ -1077,10 +1086,10 @@ msgid "Part Test Templates"
msgstr ""
#: src/components/render/ModelType.tsx:43
-#: src/pages/company/SupplierPartDetail.tsx:183
-#: src/pages/company/SupplierPartDetail.tsx:278
-#: src/pages/stock/StockDetail.tsx:161
-#: src/tables/purchasing/SupplierPartTable.tsx:63
+#: src/pages/company/SupplierPartDetail.tsx:192
+#: src/pages/company/SupplierPartDetail.tsx:324
+#: src/pages/stock/StockDetail.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:69
msgid "Supplier Part"
msgstr ""
@@ -1104,12 +1113,12 @@ msgstr ""
#: src/components/render/ModelType.tsx:67
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:67
-#: src/pages/stock/StockDetail.tsx:480
+#: src/pages/stock/StockDetail.tsx:514
msgid "Stock Item"
msgstr ""
#: src/components/render/ModelType.tsx:68
-#: src/pages/company/CompanyDetail.tsx:196
+#: src/pages/company/CompanyDetail.tsx:197
#: src/pages/stock/LocationDetail.tsx:112
#: src/pages/stock/LocationDetail.tsx:156
#: src/pages/stock/LocationDetail.tsx:309
@@ -1150,7 +1159,7 @@ msgid "Build Lines"
msgstr ""
#: src/components/render/ModelType.tsx:104
-#: src/pages/company/CompanyDetail.tsx:302
+#: src/pages/company/CompanyDetail.tsx:309
msgid "Company"
msgstr ""
@@ -1170,15 +1179,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:119
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:99
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:319
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:42
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:328
msgid "Purchase Order"
msgstr ""
#: src/components/render/ModelType.tsx:120
#: src/pages/Index/Settings/SystemSettings.tsx:242
-#: src/pages/company/CompanyDetail.tsx:189
-#: src/pages/company/SupplierPartDetail.tsx:208
-#: src/pages/part/PartDetail.tsx:564
+#: src/pages/company/CompanyDetail.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:226
+#: src/pages/part/PartDetail.tsx:560
#: src/pages/purchasing/PurchasingIndex.tsx:20
msgid "Purchase Orders"
msgstr ""
@@ -1193,16 +1203,16 @@ msgstr ""
#: src/components/render/ModelType.tsx:132
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:108
-#: src/pages/build/BuildDetail.tsx:127
-#: src/pages/sales/SalesOrderDetail.tsx:265
-#: src/pages/stock/StockDetail.tsx:209
+#: src/pages/build/BuildDetail.tsx:126
+#: src/pages/sales/SalesOrderDetail.tsx:315
+#: src/pages/stock/StockDetail.tsx:216
msgid "Sales Order"
msgstr ""
#: src/components/render/ModelType.tsx:133
#: src/pages/Index/Settings/SystemSettings.tsx:257
-#: src/pages/company/CompanyDetail.tsx:205
-#: src/pages/part/PartDetail.tsx:570
+#: src/pages/company/CompanyDetail.tsx:206
+#: src/pages/part/PartDetail.tsx:566
#: src/pages/sales/SalesIndex.tsx:21
msgid "Sales Orders"
msgstr ""
@@ -1217,13 +1227,13 @@ msgstr ""
#: src/components/render/ModelType.tsx:147
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:117
-#: src/pages/sales/ReturnOrderDetail.tsx:241
+#: src/pages/sales/ReturnOrderDetail.tsx:291
msgid "Return Order"
msgstr ""
#: src/components/render/ModelType.tsx:148
#: src/pages/Index/Settings/SystemSettings.tsx:272
-#: src/pages/company/CompanyDetail.tsx:212
+#: src/pages/company/CompanyDetail.tsx:213
#: src/pages/sales/SalesIndex.tsx:27
msgid "Return Orders"
msgstr ""
@@ -1234,19 +1244,19 @@ msgid "Address"
msgstr ""
#: src/components/render/ModelType.tsx:156
-#: src/pages/company/CompanyDetail.tsx:238
+#: src/pages/company/CompanyDetail.tsx:239
msgid "Addresses"
msgstr ""
#: src/components/render/ModelType.tsx:162
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:165
-#: src/pages/sales/ReturnOrderDetail.tsx:131
-#: src/pages/sales/SalesOrderDetail.tsx:135
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:167
+#: src/pages/sales/ReturnOrderDetail.tsx:146
+#: src/pages/sales/SalesOrderDetail.tsx:150
msgid "Contact"
msgstr ""
#: src/components/render/ModelType.tsx:163
-#: src/pages/company/CompanyDetail.tsx:232
+#: src/pages/company/CompanyDetail.tsx:233
msgid "Contacts"
msgstr ""
@@ -1276,24 +1286,27 @@ msgstr ""
#: src/defaults/links.tsx:29
#: src/defaults/menuItems.tsx:38
#: src/pages/Index/Settings/SystemSettings.tsx:199
-#: src/pages/part/PartDetail.tsx:487
+#: src/pages/part/PartDetail.tsx:482
#: src/pages/stock/LocationDetail.tsx:289
-#: src/pages/stock/StockDetail.tsx:343
+#: src/pages/stock/StockDetail.tsx:350
#: src/tables/stock/StockItemTable.tsx:57
msgid "Stock"
msgstr ""
#: src/components/render/Stock.tsx:26
-#: src/pages/stock/StockDetail.tsx:144
-#: src/pages/stock/StockDetail.tsx:450
+#: src/pages/stock/StockDetail.tsx:151
+#: src/pages/stock/StockDetail.tsx:484
msgid "Serial Number"
msgstr ""
#: src/components/render/Stock.tsx:28
-#: src/pages/stock/StockDetail.tsx:139
-#: src/pages/stock/StockDetail.tsx:455
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:92
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:120
+#: src/pages/part/pricing/BomPricingPanel.tsx:132
+#: src/pages/part/pricing/PriceBreakPanel.tsx:96
+#: src/pages/stock/StockDetail.tsx:146
+#: src/pages/stock/StockDetail.tsx:489
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:94
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:122
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:73
msgid "Quantity"
msgstr ""
@@ -1707,10 +1720,6 @@ msgstr ""
#~ msgid "Expiry Date"
#~ msgstr "Expiry Date"
-#: src/components/tables/stock/StockItemTable.tsx:214
-#~ msgid "Purchase Price"
-#~ msgstr "Purchase Price"
-
#: src/components/tables/stock/StockItemTable.tsx:247
#~ msgid "Test Filter"
#~ msgstr "Test Filter"
@@ -1999,7 +2008,7 @@ msgid "Recently Updated"
msgstr ""
#: src/defaults/dashboardItems.tsx:50
-#: src/tables/part/PartTable.tsx:224
+#: src/tables/part/PartTable.tsx:225
msgid "Low Stock"
msgstr ""
@@ -2056,7 +2065,7 @@ msgstr ""
#~ msgstr "Local Server"
#: src/defaults/links.tsx:11
-#: src/pages/company/CompanyDetail.tsx:89
+#: src/pages/company/CompanyDetail.tsx:90
msgid "Website"
msgstr ""
@@ -2073,8 +2082,8 @@ msgstr ""
#: src/pages/company/ManufacturerDetail.tsx:9
#: src/pages/company/ManufacturerPartDetail.tsx:217
#: src/pages/company/SupplierDetail.tsx:9
-#: src/pages/company/SupplierPartDetail.tsx:262
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:322
+#: src/pages/company/SupplierPartDetail.tsx:297
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:331
#: src/pages/purchasing/PurchasingIndex.tsx:52
msgid "Purchasing"
msgstr ""
@@ -2082,9 +2091,9 @@ msgstr ""
#: src/defaults/links.tsx:32
#: src/defaults/menuItems.tsx:53
#: src/pages/company/CustomerDetail.tsx:9
-#: src/pages/sales/ReturnOrderDetail.tsx:245
+#: src/pages/sales/ReturnOrderDetail.tsx:296
#: src/pages/sales/SalesIndex.tsx:45
-#: src/pages/sales/SalesOrderDetail.tsx:269
+#: src/pages/sales/SalesOrderDetail.tsx:320
msgid "Sales"
msgstr ""
@@ -2287,75 +2296,75 @@ msgstr ""
#~ msgid "Part updated"
#~ msgstr "Part updated"
-#: src/forms/PurchaseOrderForms.tsx:246
+#: src/forms/PurchaseOrderForms.tsx:257
msgid "Choose Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:254
+#: src/forms/PurchaseOrderForms.tsx:265
msgid "Item Destination selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:263
+#: src/forms/PurchaseOrderForms.tsx:274
msgid "Part category default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:273
+#: src/forms/PurchaseOrderForms.tsx:284
msgid "Received stock location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:278
+#: src/forms/PurchaseOrderForms.tsx:289
msgid "Default location selected"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:289
-#: src/forms/PurchaseOrderForms.tsx:365
+#: src/forms/PurchaseOrderForms.tsx:300
+#: src/forms/PurchaseOrderForms.tsx:376
msgid "Scan Barcode"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:333
+#: src/forms/PurchaseOrderForms.tsx:344
msgid "Set Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:340
+#: src/forms/PurchaseOrderForms.tsx:351
msgid "Assign Batch Code{0}"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:349
+#: src/forms/PurchaseOrderForms.tsx:360
msgid "Change Status"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:374
-#: src/forms/StockForms.tsx:359
+#: src/forms/PurchaseOrderForms.tsx:385
+#: src/forms/StockForms.tsx:336
msgid "Remove item from list"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:399
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/PurchaseOrderForms.tsx:410
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:58
-#: src/pages/stock/StockDetail.tsx:169
+#: src/pages/stock/StockDetail.tsx:176
msgid "Location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:415
+#: src/forms/PurchaseOrderForms.tsx:426
msgid "Store at default location"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:428
+#: src/forms/PurchaseOrderForms.tsx:439
msgid "Store at line item destination"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:438
+#: src/forms/PurchaseOrderForms.tsx:449
msgid "Store with already received stock"
msgstr ""
-#: src/forms/PurchaseOrderForms.tsx:647
+#: src/forms/PurchaseOrderForms.tsx:658
msgid "Receive line items"
msgstr ""
@@ -2380,97 +2389,94 @@ msgstr ""
#~ msgstr "Create Stock Item"
#: src/forms/StockForms.tsx:136
-#: src/tables/stock/StockItemTable.tsx:366
-#: src/tables/stock/StockItemTable.tsx:486
+#: src/pages/stock/StockDetail.tsx:373
+#: src/tables/stock/StockItemTable.tsx:374
+#: src/tables/stock/StockItemTable.tsx:494
msgid "Add Stock Item"
msgstr ""
-#: src/forms/StockForms.tsx:157
-msgid "Edit Stock Item"
-msgstr ""
-
#: src/forms/StockForms.tsx:158
-msgid "Stock item updated"
-msgstr ""
+#~ msgid "Stock item updated"
+#~ msgstr "Stock item updated"
-#: src/forms/StockForms.tsx:348
+#: src/forms/StockForms.tsx:325
msgid "Move to default location"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
-#: src/pages/part/PartDetail.tsx:207
-#: src/pages/part/PartDetail.tsx:647
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
+#: src/pages/part/PartDetail.tsx:202
+#: src/pages/part/PartDetail.tsx:643
#: src/tables/stock/StockItemTable.tsx:283
msgid "In Stock"
msgstr ""
-#: src/forms/StockForms.tsx:416
+#: src/forms/StockForms.tsx:393
msgid "Move"
msgstr ""
-#: src/forms/StockForms.tsx:416
-#: src/forms/StockForms.tsx:450
-#: src/forms/StockForms.tsx:479
-#: src/forms/StockForms.tsx:507
-#: src/forms/StockForms.tsx:538
-#: src/forms/StockForms.tsx:573
-#: src/forms/StockForms.tsx:615
-#: src/forms/StockForms.tsx:651
+#: src/forms/StockForms.tsx:393
+#: src/forms/StockForms.tsx:427
+#: src/forms/StockForms.tsx:456
+#: src/forms/StockForms.tsx:484
+#: src/forms/StockForms.tsx:515
+#: src/forms/StockForms.tsx:550
+#: src/forms/StockForms.tsx:592
+#: src/forms/StockForms.tsx:628
#: src/tables/RowActions.tsx:148
msgid "Actions"
msgstr ""
-#: src/forms/StockForms.tsx:479
-#: src/pages/stock/StockDetail.tsx:399
+#: src/forms/StockForms.tsx:456
+#: src/pages/stock/StockDetail.tsx:429
#: src/tables/settings/TemplateTable.tsx:266
-#: src/tables/stock/StockItemTestResultTable.tsx:350
+#: src/tables/stock/StockItemTestResultTable.tsx:348
msgid "Add"
msgstr ""
-#: src/forms/StockForms.tsx:507
+#: src/forms/StockForms.tsx:484
#: src/pages/Index/Scan.tsx:262
-#: src/pages/stock/StockDetail.tsx:389
+#: src/pages/stock/StockDetail.tsx:419
msgid "Count"
msgstr ""
-#: src/forms/StockForms.tsx:740
+#: src/forms/StockForms.tsx:717
msgid "Add Stock"
msgstr ""
-#: src/forms/StockForms.tsx:749
+#: src/forms/StockForms.tsx:726
msgid "Remove Stock"
msgstr ""
-#: src/forms/StockForms.tsx:758
-#: src/pages/part/PartDetail.tsx:723
+#: src/forms/StockForms.tsx:735
+#: src/pages/part/PartDetail.tsx:734
msgid "Transfer Stock"
msgstr ""
-#: src/forms/StockForms.tsx:767
-#: src/pages/part/PartDetail.tsx:712
+#: src/forms/StockForms.tsx:744
+#: src/pages/part/PartDetail.tsx:723
msgid "Count Stock"
msgstr ""
-#: src/forms/StockForms.tsx:776
+#: src/forms/StockForms.tsx:753
msgid "Change Stock Status"
msgstr ""
-#: src/forms/StockForms.tsx:785
+#: src/forms/StockForms.tsx:762
msgid "Merge Stock"
msgstr ""
-#: src/forms/StockForms.tsx:804
+#: src/forms/StockForms.tsx:781
msgid "Delete Stock Items"
msgstr ""
-#: src/forms/StockForms.tsx:811
+#: src/forms/StockForms.tsx:788
msgid "Parent stock location"
msgstr ""
@@ -2486,38 +2492,50 @@ msgstr ""
#~ msgid "See you soon."
#~ msgstr "See you soon."
-#: src/functions/auth.tsx:70
-msgid "Logout successful"
+#: src/functions/auth.tsx:68
+msgid "Logged Out"
msgstr ""
+#: src/functions/auth.tsx:69
+msgid "Successfully logged out"
+msgstr ""
+
+#: src/functions/auth.tsx:70
+#~ msgid "Logout successful"
+#~ msgstr "Logout successful"
+
#: src/functions/auth.tsx:71
-msgid "You have been logged out"
-msgstr ""
+#~ msgid "You have been logged out"
+#~ msgstr "You have been logged out"
-#: src/functions/auth.tsx:108
+#: src/functions/auth.tsx:103
msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too."
msgstr ""
-#: src/functions/auth.tsx:115
+#: src/functions/auth.tsx:110
#: src/pages/Auth/Set-Password.tsx:39
msgid "Reset failed"
msgstr ""
+#: src/functions/auth.tsx:139
+msgid "Logged In"
+msgstr ""
+
+#: src/functions/auth.tsx:140
+msgid "Successfully logged in"
+msgstr ""
+
#: src/functions/auth.tsx:141
#~ msgid "Already logged in"
#~ msgstr "Already logged in"
-#: src/functions/auth.tsx:142
-msgid "Logged In"
-msgstr ""
-
#: src/functions/auth.tsx:142
#~ msgid "Found an existing login - using it to log you in."
#~ msgstr "Found an existing login - using it to log you in."
#: src/functions/auth.tsx:143
-msgid "Found an existing login - welcome back!"
-msgstr ""
+#~ msgid "Found an existing login - welcome back!"
+#~ msgstr "Found an existing login - welcome back!"
#: src/functions/forms.tsx:50
#~ msgid "Form method not provided"
@@ -2535,27 +2553,27 @@ msgstr ""
msgid "method parameter not supplied"
msgstr ""
-#: src/functions/notifications.tsx:9
+#: src/functions/notifications.tsx:10
msgid "Not implemented"
msgstr ""
-#: src/functions/notifications.tsx:10
+#: src/functions/notifications.tsx:11
msgid "This feature is not yet implemented"
msgstr ""
-#: src/functions/notifications.tsx:20
+#: src/functions/notifications.tsx:21
msgid "Permission denied"
msgstr ""
-#: src/functions/notifications.tsx:21
+#: src/functions/notifications.tsx:22
msgid "You do not have permission to perform this action"
msgstr ""
-#: src/functions/notifications.tsx:32
+#: src/functions/notifications.tsx:33
msgid "Invalid Return Code"
msgstr ""
-#: src/functions/notifications.tsx:33
+#: src/functions/notifications.tsx:34
msgid "Server returned status {returnCode}"
msgstr ""
@@ -2584,11 +2602,11 @@ msgstr ""
msgid "No selection"
msgstr ""
-#: src/pages/Auth/Login.tsx:75
+#: src/pages/Auth/Login.tsx:86
msgid "Welcome, log in below"
msgstr ""
-#: src/pages/Auth/Login.tsx:77
+#: src/pages/Auth/Login.tsx:88
msgid "Register below"
msgstr ""
@@ -2596,6 +2614,10 @@ msgstr ""
#~ msgid "Edit host options"
#~ msgstr "Edit host options"
+#: src/pages/Auth/Logout.tsx:23
+msgid "Logging out"
+msgstr ""
+
#: src/pages/Auth/Reset.tsx:41
#: src/pages/Auth/Set-Password.tsx:112
msgid "Send mail"
@@ -3172,7 +3194,7 @@ msgid "Reports"
msgstr ""
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:89
-#: src/pages/build/BuildDetail.tsx:317
+#: src/pages/build/BuildDetail.tsx:318
msgid "Report"
msgstr ""
@@ -3189,7 +3211,7 @@ msgstr ""
#~ msgstr "Return order"
#: src/pages/Index/Settings/AdminCenter/TemplateManagementPanel.tsx:135
-#: src/pages/part/PartDetail.tsx:512
+#: src/pages/part/PartDetail.tsx:507
msgid "Bill of Materials"
msgstr ""
@@ -3223,8 +3245,6 @@ msgid "Barcodes"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:106
-#: src/pages/company/SupplierPartDetail.tsx:218
-#: src/pages/part/PartDetail.tsx:533
msgid "Pricing"
msgstr ""
@@ -3242,15 +3262,15 @@ msgid "Reporting"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:223
-#: src/pages/part/PartDetail.tsx:582
+#: src/pages/part/PartDetail.tsx:578
msgid "Stocktake"
msgstr ""
#: src/pages/Index/Settings/SystemSettings.tsx:228
-#: src/pages/build/BuildDetail.tsx:360
+#: src/pages/build/BuildDetail.tsx:361
#: src/pages/build/BuildIndex.tsx:14
-#: src/pages/part/PartDetail.tsx:519
-#: src/pages/sales/SalesOrderDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:514
+#: src/pages/sales/SalesOrderDetail.tsx:240
msgid "Build Orders"
msgstr ""
@@ -3310,36 +3330,36 @@ msgstr ""
#~ msgid "Build Status"
#~ msgstr "Build Status"
-#: src/pages/build/BuildDetail.tsx:85
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:109
-#: src/pages/sales/ReturnOrderDetail.tsx:75
-#: src/pages/sales/SalesOrderDetail.tsx:79
+#: src/pages/build/BuildDetail.tsx:84
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:90
+#: src/pages/sales/SalesOrderDetail.tsx:94
#: src/tables/machine/MachineListTable.tsx:323
#: src/tables/purchasing/PurchaseOrderTable.tsx:55
-#: src/tables/sales/ReturnOrderTable.tsx:41
+#: src/tables/sales/ReturnOrderTable.tsx:46
#: src/tables/sales/SalesOrderTable.tsx:52
#: src/tables/stock/StockItemTable.tsx:252
msgid "Status"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:91
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:82
-#: src/pages/sales/ReturnOrderDetail.tsx:49
-#: src/pages/sales/SalesOrderDetail.tsx:53
+#: src/pages/build/BuildDetail.tsx:90
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:84
+#: src/pages/sales/ReturnOrderDetail.tsx:64
+#: src/pages/sales/SalesOrderDetail.tsx:68
msgid "Reference"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:96
-#: src/pages/company/CompanyDetail.tsx:84
+#: src/pages/build/BuildDetail.tsx:95
+#: src/pages/company/CompanyDetail.tsx:85
#: src/pages/company/ManufacturerPartDetail.tsx:73
-#: src/pages/company/SupplierPartDetail.tsx:76
+#: src/pages/company/SupplierPartDetail.tsx:85
#: src/pages/part/CategoryDetail.tsx:86
-#: src/pages/part/PartDetail.tsx:128
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:103
-#: src/pages/sales/ReturnOrderDetail.tsx:69
-#: src/pages/sales/SalesOrderDetail.tsx:73
+#: src/pages/part/PartDetail.tsx:123
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:105
+#: src/pages/sales/ReturnOrderDetail.tsx:84
+#: src/pages/sales/SalesOrderDetail.tsx:88
#: src/pages/stock/LocationDetail.tsx:93
-#: src/tables/ColumnRenderers.tsx:54
+#: src/tables/ColumnRenderers.tsx:59
#: src/tables/machine/MachineTypeTable.tsx:69
#: src/tables/machine/MachineTypeTable.tsx:109
#: src/tables/machine/MachineTypeTable.tsx:213
@@ -3350,40 +3370,40 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:103
+#: src/pages/build/BuildDetail.tsx:102
msgid "Parent Build"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:114
+#: src/pages/build/BuildDetail.tsx:113
msgid "Build Quantity"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:122
-#: src/pages/build/BuildDetail.tsx:223
+#: src/pages/build/BuildDetail.tsx:121
+#: src/pages/build/BuildDetail.tsx:222
msgid "Completed Outputs"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:139
+#: src/pages/build/BuildDetail.tsx:138
msgid "Issued By"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:145
-#: src/pages/part/PartDetail.tsx:320
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:190
-#: src/pages/sales/ReturnOrderDetail.tsx:156
-#: src/pages/sales/SalesOrderDetail.tsx:160
+#: src/pages/build/BuildDetail.tsx:144
+#: src/pages/part/PartDetail.tsx:315
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:192
+#: src/pages/sales/ReturnOrderDetail.tsx:171
+#: src/pages/sales/SalesOrderDetail.tsx:175
msgid "Responsible"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:157
+#: src/pages/build/BuildDetail.tsx:156
msgid "Source Location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:158
+#: src/pages/build/BuildDetail.tsx:157
msgid "Any location"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:165
+#: src/pages/build/BuildDetail.tsx:164
msgid "Destination Location"
msgstr ""
@@ -3398,7 +3418,7 @@ msgstr ""
#~ msgid "Link custom barcode to part"
#~ msgstr "Link custom barcode to part"
-#: src/pages/build/BuildDetail.tsx:196
+#: src/pages/build/BuildDetail.tsx:195
msgid "Build Details"
msgstr ""
@@ -3407,7 +3427,7 @@ msgstr ""
#~ msgid "Unlink custom barcode from part"
#~ msgstr "Unlink custom barcode from part"
-#: src/pages/build/BuildDetail.tsx:202
+#: src/pages/build/BuildDetail.tsx:201
#: src/tables/build/BuildLineTable.tsx:204
msgid "Allocate Stock"
msgstr ""
@@ -3416,7 +3436,7 @@ msgstr ""
#~ msgid "Build Order updated"
#~ msgstr "Build Order updated"
-#: src/pages/build/BuildDetail.tsx:217
+#: src/pages/build/BuildDetail.tsx:216
msgid "Incomplete Outputs"
msgstr ""
@@ -3432,48 +3452,48 @@ msgstr ""
#~ msgid "Delete build order"
#~ msgstr "Delete build order"
-#: src/pages/build/BuildDetail.tsx:236
+#: src/pages/build/BuildDetail.tsx:235
msgid "Consumed Stock"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:248
+#: src/pages/build/BuildDetail.tsx:247
msgid "Child Build Orders"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:258
-#: src/pages/company/CompanyDetail.tsx:244
+#: src/pages/build/BuildDetail.tsx:257
+#: src/pages/company/CompanyDetail.tsx:245
#: src/pages/company/ManufacturerPartDetail.tsx:169
-#: src/pages/part/PartDetail.tsx:604
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:246
-#: src/pages/sales/ReturnOrderDetail.tsx:199
-#: src/pages/sales/SalesOrderDetail.tsx:223
-#: src/pages/stock/StockDetail.tsx:316
+#: src/pages/part/PartDetail.tsx:600
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:253
+#: src/pages/sales/ReturnOrderDetail.tsx:214
+#: src/pages/sales/SalesOrderDetail.tsx:250
+#: src/pages/stock/StockDetail.tsx:323
msgid "Attachments"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:270
-#: src/pages/company/CompanyDetail.tsx:256
-#: src/pages/part/PartDetail.tsx:616
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:258
-#: src/pages/sales/ReturnOrderDetail.tsx:211
-#: src/pages/sales/SalesOrderDetail.tsx:235
-#: src/pages/stock/StockDetail.tsx:328
+#: src/pages/build/BuildDetail.tsx:269
+#: src/pages/company/CompanyDetail.tsx:257
+#: src/pages/part/PartDetail.tsx:612
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:265
+#: src/pages/sales/ReturnOrderDetail.tsx:226
+#: src/pages/sales/SalesOrderDetail.tsx:262
+#: src/pages/stock/StockDetail.tsx:335
msgid "Notes"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:286
+#: src/pages/build/BuildDetail.tsx:287
msgid "Edit Build Order"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:312
+#: src/pages/build/BuildDetail.tsx:313
msgid "Reporting Actions"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:318
+#: src/pages/build/BuildDetail.tsx:319
msgid "Print build report"
msgstr ""
-#: src/pages/build/BuildDetail.tsx:324
+#: src/pages/build/BuildDetail.tsx:325
msgid "Build Order Actions"
msgstr ""
@@ -3485,51 +3505,56 @@ msgstr ""
#~ msgid "New Build Order"
#~ msgstr "New Build Order"
-#: src/pages/company/CompanyDetail.tsx:97
+#: src/pages/company/CompanyDetail.tsx:98
msgid "Phone Number"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:104
+#: src/pages/company/CompanyDetail.tsx:105
msgid "Email Address"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:114
+#: src/pages/company/CompanyDetail.tsx:115
msgid "Default Currency"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:119
+#: src/pages/company/CompanyDetail.tsx:120
#: src/pages/company/SupplierDetail.tsx:8
-#: src/pages/company/SupplierPartDetail.tsx:100
-#: src/pages/company/SupplierPartDetail.tsx:186
-#: src/pages/company/SupplierPartDetail.tsx:266
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:97
+#: src/pages/company/SupplierPartDetail.tsx:109
+#: src/pages/company/SupplierPartDetail.tsx:195
+#: src/pages/company/SupplierPartDetail.tsx:301
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:99
+#: src/tables/company/CompanyTable.tsx:93
#: src/tables/purchasing/PurchaseOrderTable.tsx:73
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:36
msgid "Supplier"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:125
+#: src/pages/company/CompanyDetail.tsx:126
#: src/pages/company/ManufacturerDetail.tsx:8
#: src/pages/company/ManufacturerPartDetail.tsx:91
#: src/pages/company/ManufacturerPartDetail.tsx:221
-#: src/pages/company/SupplierPartDetail.tsx:115
+#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/tables/company/CompanyTable.tsx:98
msgid "Manufacturer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:131
+#: src/pages/company/CompanyDetail.tsx:132
#: src/pages/company/CustomerDetail.tsx:8
-#: src/pages/sales/ReturnOrderDetail.tsx:63
-#: src/pages/sales/SalesOrderDetail.tsx:67
-#: src/pages/stock/StockDetail.tsx:218
-#: src/tables/sales/ReturnOrderTable.tsx:60
-#: src/tables/sales/SalesOrderTable.tsx:95
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:38
+#: src/pages/sales/ReturnOrderDetail.tsx:78
+#: src/pages/sales/SalesOrderDetail.tsx:82
+#: src/pages/stock/StockDetail.tsx:225
+#: src/tables/company/CompanyTable.tsx:103
+#: src/tables/sales/ReturnOrderTable.tsx:61
+#: src/tables/sales/SalesOrderTable.tsx:97
msgid "Customer"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:165
+#: src/pages/company/CompanyDetail.tsx:166
msgid "Details"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:171
+#: src/pages/company/CompanyDetail.tsx:172
msgid "Manufactured Parts"
msgstr ""
@@ -3537,7 +3562,7 @@ msgstr ""
#~ msgid "Edit company"
#~ msgstr "Edit company"
-#: src/pages/company/CompanyDetail.tsx:180
+#: src/pages/company/CompanyDetail.tsx:181
msgid "Supplied Parts"
msgstr ""
@@ -3545,30 +3570,31 @@ msgstr ""
#~ msgid "Delete company"
#~ msgstr "Delete company"
-#: src/pages/company/CompanyDetail.tsx:221
+#: src/pages/company/CompanyDetail.tsx:222
msgid "Assigned Stock"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:272
+#: src/pages/company/CompanyDetail.tsx:273
msgid "Edit Company"
msgstr ""
-#: src/pages/company/CompanyDetail.tsx:281
+#: src/pages/company/CompanyDetail.tsx:282
msgid "Company Actions"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:66
-#: src/pages/company/SupplierPartDetail.tsx:69
+#: src/pages/company/SupplierPartDetail.tsx:78
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:72
msgid "Internal Part"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:81
-#: src/pages/company/SupplierPartDetail.tsx:83
+#: src/pages/company/SupplierPartDetail.tsx:92
msgid "External Link"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:99
-#: src/pages/company/SupplierPartDetail.tsx:124
+#: src/pages/company/SupplierPartDetail.tsx:133
#: src/tables/purchasing/ManufacturerPartTable.tsx:53
msgid "Manufacturer Part Number"
msgstr ""
@@ -3582,12 +3608,12 @@ msgid "Manufacturer Part Details"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:143
-#: src/pages/part/PartDetail.tsx:481
+#: src/pages/part/PartDetail.tsx:476
msgid "Parameters"
msgstr ""
#: src/pages/company/ManufacturerPartDetail.tsx:155
-#: src/pages/part/PartDetail.tsx:551
+#: src/pages/part/PartDetail.tsx:547
#: src/pages/purchasing/PurchasingIndex.tsx:26
msgid "Suppliers"
msgstr ""
@@ -3605,58 +3631,70 @@ msgstr ""
msgid "ManufacturerPart"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:90
-#: src/tables/ColumnRenderers.tsx:105
+#: src/pages/company/SupplierPartDetail.tsx:99
+#: src/tables/ColumnRenderers.tsx:110
msgid "Note"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:108
+#: src/pages/company/SupplierPartDetail.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:57
msgid "SKU"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:136
-#: src/pages/company/SupplierPartDetail.tsx:187
-#: src/pages/stock/StockDetail.tsx:232
+#: src/pages/company/SupplierPartDetail.tsx:145
+#: src/pages/company/SupplierPartDetail.tsx:196
+#: src/pages/stock/StockDetail.tsx:239
msgid "Packaging"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:143
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:105
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:141
-#: src/tables/purchasing/SupplierPartTable.tsx:120
+#: src/pages/company/SupplierPartDetail.tsx:152
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:107
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:143
+#: src/tables/purchasing/SupplierPartTable.tsx:132
msgid "Pack Quantity"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:154
+#: src/pages/company/SupplierPartDetail.tsx:163
msgid "Supplier Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:161
+#: src/pages/company/SupplierPartDetail.tsx:170
msgid "Availability Updated"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:188
+#: src/pages/company/SupplierPartDetail.tsx:197
msgid "Availability"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:197
+#: src/pages/company/SupplierPartDetail.tsx:206
msgid "Supplier Part Details"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:203
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:234
+#: src/pages/company/SupplierPartDetail.tsx:212
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:241
msgid "Received Stock"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:228
+#: src/pages/company/SupplierPartDetail.tsx:236
+#: src/pages/part/PartPricingPanel.tsx:115
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:130
+msgid "Supplier Pricing"
+msgstr ""
+
+#: src/pages/company/SupplierPartDetail.tsx:251
msgid "Supplier Part Actions"
msgstr ""
-#: src/pages/company/SupplierPartDetail.tsx:254
-#: src/tables/purchasing/SupplierPartTable.tsx:190
+#: src/pages/company/SupplierPartDetail.tsx:275
+#: src/tables/purchasing/SupplierPartTable.tsx:211
msgid "Edit Supplier Part"
msgstr ""
+#: src/pages/company/SupplierPartDetail.tsx:282
+#: src/tables/purchasing/SupplierPartTable.tsx:164
+msgid "Add Supplier Part"
+msgstr ""
+
#: src/pages/part/CategoryDetail.tsx:78
#: src/pages/stock/LocationDetail.tsx:85
#: src/tables/settings/ErrorTable.tsx:34
@@ -3703,229 +3741,242 @@ msgstr ""
msgid "Category Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:134
+#: src/pages/part/PartDetail.tsx:129
msgid "Variant of"
msgstr ""
-#: src/pages/part/PartDetail.tsx:141
+#: src/pages/part/PartDetail.tsx:136
#: src/tables/notifications/NotificationsTable.tsx:31
#: src/tables/part/PartCategoryTemplateTable.tsx:68
msgid "Category"
msgstr ""
-#: src/pages/part/PartDetail.tsx:147
+#: src/pages/part/PartDetail.tsx:142
msgid "Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:154
+#: src/pages/part/PartDetail.tsx:149
msgid "Category Default Location"
msgstr ""
-#: src/pages/part/PartDetail.tsx:161
+#: src/pages/part/PartDetail.tsx:156
msgid "IPN"
msgstr ""
-#: src/pages/part/PartDetail.tsx:168
+#: src/pages/part/PartDetail.tsx:163
msgid "Revision"
msgstr ""
-#: src/pages/part/PartDetail.tsx:175
+#: src/pages/part/PartDetail.tsx:170
#: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39
msgid "Units"
msgstr ""
-#: src/pages/part/PartDetail.tsx:182
+#: src/pages/part/PartDetail.tsx:177
#: src/tables/settings/PendingTasksTable.tsx:40
msgid "Keywords"
msgstr ""
-#: src/pages/part/PartDetail.tsx:189
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:156
-#: src/pages/sales/ReturnOrderDetail.tsx:122
-#: src/pages/sales/SalesOrderDetail.tsx:126
+#: src/pages/part/PartDetail.tsx:184
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:158
+#: src/pages/sales/ReturnOrderDetail.tsx:137
+#: src/pages/sales/SalesOrderDetail.tsx:141
msgid "Link"
msgstr ""
-#: src/pages/part/PartDetail.tsx:201
+#: src/pages/part/PartDetail.tsx:196
#: src/tables/build/BuildLineTable.tsx:115
msgid "Available Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:213
+#: src/pages/part/PartDetail.tsx:208
msgid "Minimum Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:219
-#: src/tables/bom/BomTable.tsx:185
+#: src/pages/part/PartDetail.tsx:214
+#: src/tables/bom/BomTable.tsx:210
#: src/tables/build/BuildLineTable.tsx:92
msgid "On order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:228
+#: src/pages/part/PartDetail.tsx:223
msgid "Allocated to Build Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:239
+#: src/pages/part/PartDetail.tsx:234
msgid "Allocated to Sales Orders"
msgstr ""
-#: src/pages/part/PartDetail.tsx:249
-#: src/tables/bom/BomTable.tsx:209
+#: src/pages/part/PartDetail.tsx:244
+#: src/tables/bom/BomTable.tsx:234
msgid "Can Build"
msgstr ""
-#: src/pages/part/PartDetail.tsx:256
-#: src/tables/bom/BomTable.tsx:193
+#: src/pages/part/PartDetail.tsx:251
+#: src/tables/bom/BomTable.tsx:218
#: src/tables/part/PartTable.tsx:91
msgid "Building"
msgstr ""
-#: src/pages/part/PartDetail.tsx:265
-#: src/tables/bom/UsedInTable.tsx:62
+#: src/pages/part/PartDetail.tsx:260
+#: src/tables/bom/UsedInTable.tsx:71
#: src/tables/build/BuildOrderTable.tsx:102
+#: src/tables/company/CompanyTable.tsx:58
+#: src/tables/company/CompanyTable.tsx:88
#: src/tables/machine/MachineListTable.tsx:320
-#: src/tables/part/PartTable.tsx:176
+#: src/tables/part/PartTable.tsx:177
#: src/tables/part/PartVariantTable.tsx:15
#: src/tables/plugin/PluginListTable.tsx:190
#: src/tables/plugin/PluginListTable.tsx:634
+#: src/tables/purchasing/SupplierPartTable.tsx:99
+#: src/tables/purchasing/SupplierPartTable.tsx:188
#: src/tables/stock/StockItemTable.tsx:247
msgid "Active"
msgstr ""
-#: src/pages/part/PartDetail.tsx:270
+#: src/pages/part/PartDetail.tsx:265
msgid "Template Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:275
-#: src/tables/bom/BomTable.tsx:237
+#: src/pages/part/PartDetail.tsx:270
+#: src/tables/bom/BomTable.tsx:262
msgid "Assembled Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:280
+#: src/pages/part/PartDetail.tsx:275
msgid "Component Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:285
-#: src/tables/bom/BomTable.tsx:232
+#: src/pages/part/PartDetail.tsx:280
+#: src/tables/bom/BomTable.tsx:257
msgid "Trackable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:290
+#: src/pages/part/PartDetail.tsx:285
msgid "Purchaseable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:295
+#: src/pages/part/PartDetail.tsx:290
msgid "Saleable Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:300
+#: src/pages/part/PartDetail.tsx:295
msgid "Virtual Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:308
+#: src/pages/part/PartDetail.tsx:303
msgid "Creation Date"
msgstr ""
+#: src/pages/part/PartDetail.tsx:308
+msgid "Created By"
+msgstr ""
+
#: src/pages/part/PartDetail.tsx:310
#~ msgid "Edit part"
#~ msgstr "Edit part"
-#: src/pages/part/PartDetail.tsx:313
-msgid "Created By"
+#: src/pages/part/PartDetail.tsx:322
+msgid "Default Supplier"
msgstr ""
#: src/pages/part/PartDetail.tsx:322
#~ msgid "Duplicate part"
#~ msgstr "Duplicate part"
-#: src/pages/part/PartDetail.tsx:327
-msgid "Default Supplier"
-msgstr ""
-
#: src/pages/part/PartDetail.tsx:327
#~ msgid "Delete part"
#~ msgstr "Delete part"
-#: src/pages/part/PartDetail.tsx:338
-#: src/tables/bom/BomTable.tsx:134
+#: src/pages/part/PartDetail.tsx:333
#: src/tables/part/PartTable.tsx:160
msgid "Price Range"
msgstr ""
-#: src/pages/part/PartDetail.tsx:373
-#: src/pages/stock/StockDetail.tsx:129
+#: src/pages/part/PartDetail.tsx:368
+#: src/pages/stock/StockDetail.tsx:136
msgid "Last Stocktake"
msgstr ""
-#: src/pages/part/PartDetail.tsx:408
+#: src/pages/part/PartDetail.tsx:403
msgid "Stocktake By"
msgstr ""
-#: src/pages/part/PartDetail.tsx:475
+#: src/pages/part/PartDetail.tsx:470
msgid "Part Details"
msgstr ""
-#: src/pages/part/PartDetail.tsx:499
+#: src/pages/part/PartDetail.tsx:494
msgid "Variants"
msgstr ""
-#: src/pages/part/PartDetail.tsx:506
-#: src/pages/stock/StockDetail.tsx:277
+#: src/pages/part/PartDetail.tsx:501
+#: src/pages/stock/StockDetail.tsx:284
msgid "Allocations"
msgstr ""
-#: src/pages/part/PartDetail.tsx:526
+#: src/pages/part/PartDetail.tsx:521
msgid "Used In"
msgstr ""
-#: src/pages/part/PartDetail.tsx:538
+#: src/pages/part/PartDetail.tsx:528
+msgid "Part Pricing"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:534
#: src/pages/purchasing/PurchasingIndex.tsx:37
msgid "Manufacturers"
msgstr ""
-#: src/pages/part/PartDetail.tsx:577
+#: src/pages/part/PartDetail.tsx:573
msgid "Scheduling"
msgstr ""
-#: src/pages/part/PartDetail.tsx:587
+#: src/pages/part/PartDetail.tsx:583
msgid "Test Templates"
msgstr ""
-#: src/pages/part/PartDetail.tsx:598
+#: src/pages/part/PartDetail.tsx:594
msgid "Related Parts"
msgstr ""
-#: src/pages/part/PartDetail.tsx:652
+#: src/pages/part/PartDetail.tsx:648
msgid "No Stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:657
+#: src/pages/part/PartDetail.tsx:653
#: src/tables/part/PartTable.tsx:85
msgid "On Order"
msgstr ""
-#: src/pages/part/PartDetail.tsx:662
+#: src/pages/part/PartDetail.tsx:658
#: src/tables/stock/StockItemTable.tsx:288
msgid "In Production"
msgstr ""
-#: src/pages/part/PartDetail.tsx:674
+#: src/pages/part/PartDetail.tsx:671
msgid "Edit Part"
msgstr ""
-#: src/pages/part/PartDetail.tsx:705
+#: src/pages/part/PartDetail.tsx:678
+#: src/tables/part/PartTable.tsx:276
+#: src/tables/part/PartTable.tsx:292
+msgid "Add Part"
+msgstr ""
+
+#: src/pages/part/PartDetail.tsx:716
msgid "Stock Actions"
msgstr ""
-#: src/pages/part/PartDetail.tsx:713
+#: src/pages/part/PartDetail.tsx:724
msgid "Count part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:724
+#: src/pages/part/PartDetail.tsx:735
msgid "Transfer part stock"
msgstr ""
-#: src/pages/part/PartDetail.tsx:734
+#: src/pages/part/PartDetail.tsx:745
msgid "Part Actions"
msgstr ""
@@ -3933,82 +3984,281 @@ msgstr ""
#~ msgid "Categories"
#~ msgstr "Categories"
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:66
+#: src/pages/part/PartPricingPanel.tsx:72
+msgid "No pricing data found for this part."
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:86
+msgid "Pricing Overview"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:92
+msgid "Purchase History"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:106
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:109
+msgid "Internal Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:124
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:116
+msgid "BOM Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:131
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:137
+msgid "Variant Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:143
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:144
+msgid "Sale Pricing"
+msgstr ""
+
+#: src/pages/part/PartPricingPanel.tsx:150
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:151
+msgid "Sale History"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:100
+msgid "Minimum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:105
+msgid "Maximum Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:125
+#: src/tables/part/PartTable.tsx:195
+msgid "Component"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:152
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:77
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:151
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:83
+#: src/tables/bom/BomTable.tsx:149
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:88
+msgid "Unit Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:161
+#: src/tables/ColumnRenderers.tsx:231
+#: src/tables/bom/BomTable.tsx:158
+#: src/tables/purchasing/PurchaseOrderTable.tsx:97
+#: src/tables/sales/ReturnOrderTable.tsx:87
+#: src/tables/sales/SalesOrderTable.tsx:124
+msgid "Total Price"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:177
+#: src/pages/part/pricing/VariantPricingPanel.tsx:62
+#: src/tables/purchasing/SupplierPartTable.tsx:149
+msgid "Updated"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:230
+msgid "Pie Chart"
+msgstr ""
+
+#: src/pages/part/pricing/BomPricingPanel.tsx:231
+msgid "Bar Chart"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:63
+#: src/pages/part/pricing/PriceBreakPanel.tsx:117
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:138
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:170
+msgid "Add Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:76
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:151
+msgid "Edit Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:86
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:161
+msgid "Delete Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PriceBreakPanel.tsx:102
+#: src/pages/part/pricing/PriceBreakPanel.tsx:193
+msgid "Price Break"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:60
+msgid "Pricing Category"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:79
+msgid "Minimum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:91
+msgid "Maximum"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:123
+msgid "Purchase Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:158
+msgid "Override Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:165
+msgid "Overall Pricing"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:184
+#: src/pages/stock/StockDetail.tsx:130
+msgid "Last Updated"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:210
+#: src/pages/part/pricing/VariantPricingPanel.tsx:46
+#: src/pages/part/pricing/VariantPricingPanel.tsx:119
+msgid "Minimum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingOverviewPanel.tsx:215
+#: src/pages/part/pricing/VariantPricingPanel.tsx:54
+#: src/pages/part/pricing/VariantPricingPanel.tsx:124
+msgid "Maximum Price"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:23
+msgid "No data available"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:64
+msgid "No Data"
+msgstr ""
+
+#: src/pages/part/pricing/PricingPanel.tsx:65
+msgid "No pricing data available"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:50
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:45
+#: src/tables/ColumnRenderers.tsx:170
+#: src/tables/plugin/PluginListTable.tsx:182
+#: src/tables/stock/StockItemTestResultTable.tsx:194
+msgid "Date"
+msgstr ""
+
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:57
+#: src/pages/part/pricing/PurchaseHistoryPanel.tsx:156
+msgid "Purchase Price"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:31
+msgid "Sale Order"
+msgstr ""
+
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:52
+#: src/pages/part/pricing/SaleHistoryPanel.tsx:115
+msgid "Sale Price"
+msgstr ""
+
+#: src/pages/part/pricing/SupplierPricingPanel.tsx:88
+#: src/tables/purchasing/SupplierPriceBreakTable.tsx:79
+msgid "Supplier Price"
+msgstr ""
+
+#: src/pages/part/pricing/VariantPricingPanel.tsx:39
+msgid "Variant Part"
+msgstr ""
+
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:68
msgid "Edit Purchase Order"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:88
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:90
msgid "Supplier Reference"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:118
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:228
-#: src/pages/sales/ReturnOrderDetail.tsx:84
-#: src/pages/sales/ReturnOrderDetail.tsx:194
-#: src/pages/sales/SalesOrderDetail.tsx:88
-#: src/pages/sales/SalesOrderDetail.tsx:198
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:120
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:230
+#: src/pages/sales/ReturnOrderDetail.tsx:99
+#: src/pages/sales/ReturnOrderDetail.tsx:209
+#: src/pages/sales/SalesOrderDetail.tsx:103
+#: src/pages/sales/SalesOrderDetail.tsx:225
msgid "Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:125
-#: src/pages/sales/ReturnOrderDetail.tsx:91
-#: src/pages/sales/SalesOrderDetail.tsx:95
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:127
+#: src/pages/sales/ReturnOrderDetail.tsx:106
+#: src/pages/sales/SalesOrderDetail.tsx:110
msgid "Completed Line Items"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:133
-#: src/pages/sales/ReturnOrderDetail.tsx:99
-#: src/pages/sales/SalesOrderDetail.tsx:103
-#: src/pages/sales/SalesOrderDetail.tsx:208
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:135
+#: src/pages/sales/ReturnOrderDetail.tsx:114
+#: src/pages/sales/SalesOrderDetail.tsx:118
+#: src/pages/sales/SalesOrderDetail.tsx:235
msgid "Completed Shipments"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:141
-#: src/pages/sales/ReturnOrderDetail.tsx:107
-#: src/pages/sales/SalesOrderDetail.tsx:111
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:143
+#: src/pages/sales/ReturnOrderDetail.tsx:122
+#: src/pages/sales/SalesOrderDetail.tsx:126
msgid "Order Currency,"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:146
-#: src/pages/sales/ReturnOrderDetail.tsx:112
-#: src/pages/sales/SalesOrderDetail.tsx:116
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:148
+#: src/pages/sales/ReturnOrderDetail.tsx:127
+#: src/pages/sales/SalesOrderDetail.tsx:131
msgid "Total Cost"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:177
-#: src/pages/sales/ReturnOrderDetail.tsx:143
-#: src/pages/sales/SalesOrderDetail.tsx:147
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:179
+#: src/pages/sales/ReturnOrderDetail.tsx:158
+#: src/pages/sales/SalesOrderDetail.tsx:162
msgid "Created On"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:183
-#: src/pages/sales/ReturnOrderDetail.tsx:149
-#: src/pages/sales/SalesOrderDetail.tsx:153
-#: src/tables/ColumnRenderers.tsx:164
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:185
+#: src/pages/sales/ReturnOrderDetail.tsx:164
+#: src/pages/sales/SalesOrderDetail.tsx:168
+#: src/tables/ColumnRenderers.tsx:180
msgid "Target Date"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:222
-#: src/pages/sales/ReturnOrderDetail.tsx:188
-#: src/pages/sales/SalesOrderDetail.tsx:192
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:224
+#: src/pages/sales/ReturnOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:219
msgid "Order Details"
msgstr ""
-#: src/pages/purchasing/PurchaseOrderDetail.tsx:287
+#: src/pages/purchasing/PurchaseOrderDetail.tsx:293
+#: src/pages/sales/ReturnOrderDetail.tsx:267
+#: src/pages/sales/SalesOrderDetail.tsx:279
msgid "Order Actions"
msgstr ""
-#: src/pages/sales/ReturnOrderDetail.tsx:55
-#: src/pages/sales/SalesOrderDetail.tsx:59
-#: src/tables/sales/SalesOrderTable.tsx:111
+#: src/pages/sales/ReturnOrderDetail.tsx:70
+#: src/pages/sales/SalesOrderDetail.tsx:74
+#: src/tables/sales/SalesOrderTable.tsx:113
msgid "Customer Reference"
msgstr ""
+#: src/pages/sales/ReturnOrderDetail.tsx:256
+msgid "Edit Return Order"
+msgstr ""
+
#: src/pages/sales/SalesIndex.tsx:33
msgid "Customers"
msgstr ""
-#: src/pages/sales/SalesOrderDetail.tsx:203
+#: src/pages/sales/SalesOrderDetail.tsx:208
+msgid "Edit Sales Order"
+msgstr ""
+
+#: src/pages/sales/SalesOrderDetail.tsx:230
msgid "Pending Shipments"
msgstr ""
@@ -4046,19 +4296,19 @@ msgstr ""
msgid "Location Actions"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:102
+#: src/pages/stock/StockDetail.tsx:109
msgid "Base Part"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:109
+#: src/pages/stock/StockDetail.tsx:116
msgid "Stock Status"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:123
-msgid "Last Updated"
-msgstr ""
+#: src/pages/stock/StockDetail.tsx:155
+#~ msgid "Link custom barcode to stock item"
+#~ msgstr "Link custom barcode to stock item"
-#: src/pages/stock/StockDetail.tsx:150
+#: src/pages/stock/StockDetail.tsx:157
#: src/tables/build/BuildLineTable.tsx:38
#: src/tables/part/PartTable.tsx:116
#: src/tables/stock/StockItemTable.tsx:154
@@ -4066,104 +4316,98 @@ msgstr ""
msgid "Available"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:155
-#~ msgid "Link custom barcode to stock item"
-#~ msgstr "Link custom barcode to stock item"
-
#: src/pages/stock/StockDetail.tsx:161
#~ msgid "Unlink custom barcode from stock item"
#~ msgstr "Unlink custom barcode from stock item"
-#: src/pages/stock/StockDetail.tsx:176
+#: src/pages/stock/StockDetail.tsx:183
msgid "Installed In"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:192
+#: src/pages/stock/StockDetail.tsx:199
msgid "Consumed By"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:201
-msgid "Build Order"
-msgstr ""
-
#: src/pages/stock/StockDetail.tsx:205
#~ msgid "Edit stock item"
#~ msgstr "Edit stock item"
+#: src/pages/stock/StockDetail.tsx:208
+msgid "Build Order"
+msgstr ""
+
#: src/pages/stock/StockDetail.tsx:217
#~ msgid "Delete stock item"
#~ msgstr "Delete stock item"
-#: src/pages/stock/StockDetail.tsx:266
+#: src/pages/stock/StockDetail.tsx:273
msgid "Stock Details"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:272
+#: src/pages/stock/StockDetail.tsx:279
msgid "Stock Tracking"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:284
+#: src/pages/stock/StockDetail.tsx:291
msgid "Test Data"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:298
+#: src/pages/stock/StockDetail.tsx:305
msgid "Installed Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:305
+#: src/pages/stock/StockDetail.tsx:312
msgid "Child Items"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:385
-msgid "Stock Operations"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:390
-msgid "Count stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:400
-#: src/tables/stock/StockItemTable.tsx:401
-msgid "Add stock"
-msgstr ""
-
-#: src/pages/stock/StockDetail.tsx:408
-#: src/tables/stock/StockItemTable.tsx:410
-msgid "Remove stock"
+#: src/pages/stock/StockDetail.tsx:364
+msgid "Edit Stock Item"
msgstr ""
#: src/pages/stock/StockDetail.tsx:415
-msgid "Transfer"
+msgid "Stock Operations"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:416
-#: src/tables/stock/StockItemTable.tsx:430
-msgid "Transfer stock"
+#: src/pages/stock/StockDetail.tsx:420
+msgid "Count stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:430
+#: src/tables/stock/StockItemTable.tsx:409
+msgid "Add stock"
msgstr ""
#: src/pages/stock/StockDetail.tsx:433
-msgid "Duplicate stock item"
+#~ msgid "Duplicate stock item"
+#~ msgstr "Duplicate stock item"
+
+#: src/pages/stock/StockDetail.tsx:438
+#: src/tables/stock/StockItemTable.tsx:418
+msgid "Remove stock"
msgstr ""
-#: src/pages/stock/StockDetail.tsx:460
+#: src/pages/stock/StockDetail.tsx:445
+msgid "Transfer"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:446
+#: src/tables/stock/StockItemTable.tsx:438
+msgid "Transfer stock"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:458
+msgid "Stock Item Actions"
+msgstr ""
+
+#: src/pages/stock/StockDetail.tsx:494
msgid "Batch Code"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:155
-#: src/tables/plugin/PluginListTable.tsx:182
-#: src/tables/stock/StockItemTestResultTable.tsx:194
-msgid "Date"
-msgstr ""
-
-#: src/tables/ColumnRenderers.tsx:201
+#: src/tables/ColumnRenderers.tsx:217
#: src/tables/settings/CurrencyTable.tsx:23
msgid "Currency"
msgstr ""
-#: src/tables/ColumnRenderers.tsx:215
-msgid "Total Price"
-msgstr ""
-
#: src/tables/ColumnSelect.tsx:17
#: src/tables/ColumnSelect.tsx:24
msgid "Select Columns"
@@ -4245,200 +4489,228 @@ msgstr ""
msgid "Clear Filters"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:102
-#: src/tables/InvenTreeTable.tsx:367
-#: src/tables/InvenTreeTable.tsx:388
+#: src/tables/InvenTreeTable.tsx:103
+#: src/tables/InvenTreeTable.tsx:369
+#: src/tables/InvenTreeTable.tsx:390
msgid "No records found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:399
+#: src/tables/InvenTreeTable.tsx:401
msgid "Server returned incorrect data type"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:407
+#: src/tables/InvenTreeTable.tsx:409
msgid "Bad request"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:410
+#: src/tables/InvenTreeTable.tsx:412
msgid "Unauthorized"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:413
+#: src/tables/InvenTreeTable.tsx:415
msgid "Forbidden"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:416
+#: src/tables/InvenTreeTable.tsx:418
msgid "Not found"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:461
-#: src/tables/InvenTreeTable.tsx:580
+#: src/tables/InvenTreeTable.tsx:463
+#: src/tables/InvenTreeTable.tsx:582
msgid "Delete selected records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:465
+#: src/tables/InvenTreeTable.tsx:467
msgid "Are you sure you want to delete the selected records?"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:467
+#: src/tables/InvenTreeTable.tsx:469
msgid "This action cannot be undone!"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:495
+#: src/tables/InvenTreeTable.tsx:497
msgid "Deleted records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:496
+#: src/tables/InvenTreeTable.tsx:498
msgid "Records were deleted successfully"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:505
+#: src/tables/InvenTreeTable.tsx:507
msgid "Failed to delete records"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:561
-#: src/tables/InvenTreeTable.tsx:562
+#: src/tables/InvenTreeTable.tsx:563
+#: src/tables/InvenTreeTable.tsx:564
msgid "Barcode actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:570
-#: src/tables/InvenTreeTable.tsx:571
+#: src/tables/InvenTreeTable.tsx:572
+#: src/tables/InvenTreeTable.tsx:573
msgid "Print actions"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:596
+#: src/tables/InvenTreeTable.tsx:598
msgid "Refresh data"
msgstr ""
-#: src/tables/InvenTreeTable.tsx:614
+#: src/tables/InvenTreeTable.tsx:616
msgid "Table filters"
msgstr ""
-#: src/tables/bom/BomTable.tsx:73
+#: src/tables/bom/BomTable.tsx:78
msgid "This BOM item is defined for a different parent"
msgstr ""
-#: src/tables/bom/BomTable.tsx:88
+#: src/tables/bom/BomTable.tsx:93
msgid "Part Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:152
+#: src/tables/bom/BomTable.tsx:177
#: src/tables/part/PartTable.tsx:133
msgid "No stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:160
+#: src/tables/bom/BomTable.tsx:185
#: src/tables/build/BuildLineTable.tsx:101
#: src/tables/part/PartTable.tsx:124
msgid "External stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:168
+#: src/tables/bom/BomTable.tsx:193
#: src/tables/build/BuildLineTable.tsx:64
msgid "Includes substitute stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:177
+#: src/tables/bom/BomTable.tsx:202
#: src/tables/build/BuildLineTable.tsx:74
msgid "Includes variant stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:202
+#: src/tables/bom/BomTable.tsx:227
#: src/tables/part/PartTable.tsx:152
#: src/tables/stock/StockItemTable.tsx:190
msgid "Stock Information"
msgstr ""
-#: src/tables/bom/BomTable.tsx:213
+#: src/tables/bom/BomTable.tsx:238
#: src/tables/build/BuildLineTable.tsx:179
msgid "Consumable item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:233
+#: src/tables/bom/BomTable.tsx:258
msgid "Show trackable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:238
+#: src/tables/bom/BomTable.tsx:263
msgid "Show asssmbled items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:242
+#: src/tables/bom/BomTable.tsx:267
msgid "Show items with available stock"
msgstr ""
-#: src/tables/bom/BomTable.tsx:246
+#: src/tables/bom/BomTable.tsx:271
msgid "Show items on order"
msgstr ""
-#: src/tables/bom/BomTable.tsx:250
+#: src/tables/bom/BomTable.tsx:275
msgid "Show validated items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:254
-#: src/tables/bom/UsedInTable.tsx:54
+#: src/tables/bom/BomTable.tsx:279
+#: src/tables/bom/UsedInTable.tsx:63
msgid "Show inherited items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:258
-#: src/tables/bom/UsedInTable.tsx:58
+#: src/tables/bom/BomTable.tsx:283
+#: src/tables/bom/UsedInTable.tsx:67
msgid "Show optional items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:262
+#: src/tables/bom/BomTable.tsx:287
msgid "Show consumable items"
msgstr ""
-#: src/tables/bom/BomTable.tsx:266
+#: src/tables/bom/BomTable.tsx:291
msgid "Has Pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:267
+#: src/tables/bom/BomTable.tsx:292
msgid "Show items with pricing"
msgstr ""
-#: src/tables/bom/BomTable.tsx:278
-msgid "View BOM"
+#: src/tables/bom/BomTable.tsx:301
+msgid "Create BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:289
-msgid "Validate BOM line"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:297
-msgid "Edit Substitutes"
-msgstr ""
-
-#: src/tables/bom/BomTable.tsx:311
-msgid "Edit Bom Item"
+#: src/tables/bom/BomTable.tsx:306
+msgid "BOM item created"
msgstr ""
#: src/tables/bom/BomTable.tsx:313
-msgid "Bom item updated"
+msgid "Edit BOM Item"
msgstr ""
-#: src/tables/bom/BomTable.tsx:328
-msgid "Delete Bom Item"
+#: src/tables/bom/BomTable.tsx:315
+msgid "BOM item updated"
msgstr ""
-#: src/tables/bom/BomTable.tsx:329
-msgid "Bom item deleted"
+#: src/tables/bom/BomTable.tsx:322
+msgid "Delete BOM Item"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:323
+msgid "BOM item deleted"
msgstr ""
#: src/tables/bom/BomTable.tsx:331
-msgid "Are you sure you want to remove this BOM item?"
+#~ msgid "Edit Bom Item"
+#~ msgstr "Edit Bom Item"
+
+#: src/tables/bom/BomTable.tsx:333
+msgid "View BOM"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:63
+#: src/tables/bom/BomTable.tsx:333
+#~ msgid "Bom item updated"
+#~ msgstr "Bom item updated"
+
+#: src/tables/bom/BomTable.tsx:344
+msgid "Validate BOM line"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:348
+#~ msgid "Delete Bom Item"
+#~ msgstr "Delete Bom Item"
+
+#: src/tables/bom/BomTable.tsx:349
+#~ msgid "Bom item deleted"
+#~ msgstr "Bom item deleted"
+
+#: src/tables/bom/BomTable.tsx:351
+#~ msgid "Are you sure you want to remove this BOM item?"
+#~ msgstr "Are you sure you want to remove this BOM item?"
+
+#: src/tables/bom/BomTable.tsx:352
+msgid "Edit Substitutes"
+msgstr ""
+
+#: src/tables/bom/BomTable.tsx:389
+msgid "Add BOM Item"
+msgstr ""
+
+#: src/tables/bom/UsedInTable.tsx:72
msgid "Show active assemblies"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:67
-#: src/tables/part/PartTable.tsx:200
+#: src/tables/bom/UsedInTable.tsx:76
+#: src/tables/part/PartTable.tsx:201
#: src/tables/part/PartVariantTable.tsx:30
msgid "Trackable"
msgstr ""
-#: src/tables/bom/UsedInTable.tsx:68
+#: src/tables/bom/UsedInTable.tsx:77
msgid "Show trackable assemblies"
msgstr ""
@@ -4493,7 +4765,7 @@ msgstr ""
#: src/tables/build/BuildOrderTable.tsx:107
#: src/tables/purchasing/PurchaseOrderTable.tsx:56
-#: src/tables/sales/ReturnOrderTable.tsx:42
+#: src/tables/sales/ReturnOrderTable.tsx:47
#: src/tables/sales/SalesOrderTable.tsx:53
msgid "Filter by order status"
msgstr ""
@@ -4502,8 +4774,8 @@ msgstr ""
msgid "Show overdue status"
msgstr ""
-#: src/tables/build/BuildOrderTable.tsx:140
-#: src/tables/build/BuildOrderTable.tsx:158
+#: src/tables/build/BuildOrderTable.tsx:142
+#: src/tables/build/BuildOrderTable.tsx:160
msgid "Add Build Order"
msgstr ""
@@ -4528,27 +4800,43 @@ msgstr ""
msgid "Are you sure you want to delete this address?"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:63
+#: src/tables/company/CompanyTable.tsx:71
msgid "New Company"
msgstr ""
-#: src/tables/company/CompanyTable.tsx:83
+#: src/tables/company/CompanyTable.tsx:89
+msgid "Show active companies"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:94
+msgid "Show companies which are suppliers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:99
+msgid "Show companies which are manufacturers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:104
+msgid "Show companies which are customers"
+msgstr ""
+
+#: src/tables/company/CompanyTable.tsx:116
msgid "Add Company"
msgstr ""
-#: src/tables/company/ContactTable.tsx:73
+#: src/tables/company/ContactTable.tsx:71
msgid "Edit Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:80
+#: src/tables/company/ContactTable.tsx:78
msgid "Add Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:91
+#: src/tables/company/ContactTable.tsx:89
msgid "Delete Contact"
msgstr ""
-#: src/tables/company/ContactTable.tsx:131
+#: src/tables/company/ContactTable.tsx:129
msgid "Add contact"
msgstr ""
@@ -4753,14 +5041,14 @@ msgstr ""
msgid "Add Part Parameter"
msgstr ""
-#: src/tables/part/ParametricPartTable.tsx:146
-#: src/tables/part/PartParameterTable.tsx:121
-#: src/tables/part/PartParameterTable.tsx:143
+#: src/tables/part/ParametricPartTable.tsx:147
+#: src/tables/part/PartParameterTable.tsx:124
+#: src/tables/part/PartParameterTable.tsx:146
msgid "Edit Part Parameter"
msgstr ""
#: src/tables/part/PartCategoryTable.tsx:64
-#: src/tables/part/PartTable.tsx:188
+#: src/tables/part/PartTable.tsx:189
msgid "Include Subcategories"
msgstr ""
@@ -4801,20 +5089,20 @@ msgstr ""
#~ msgid "[{0}]"
#~ msgstr "[{0}]"
-#: src/tables/part/PartParameterTable.tsx:106
+#: src/tables/part/PartParameterTable.tsx:108
msgid "New Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:129
-#: src/tables/part/PartParameterTable.tsx:151
+#: src/tables/part/PartParameterTable.tsx:132
+#: src/tables/part/PartParameterTable.tsx:154
msgid "Delete Part Parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:168
+#: src/tables/part/PartParameterTable.tsx:171
msgid "Add parameter"
msgstr ""
-#: src/tables/part/PartParameterTable.tsx:189
+#: src/tables/part/PartParameterTable.tsx:192
#: src/tables/stock/StockItemTable.tsx:293
msgid "Include Variants"
msgstr ""
@@ -4836,7 +5124,7 @@ msgid "Show templates with choices"
msgstr ""
#: src/tables/part/PartParameterTemplateTable.tsx:41
-#: src/tables/part/PartTable.tsx:206
+#: src/tables/part/PartTable.tsx:207
msgid "Has Units"
msgstr ""
@@ -4872,88 +5160,79 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: src/tables/part/PartTable.tsx:177
+#: src/tables/part/PartTable.tsx:178
msgid "Filter by part active status"
msgstr ""
-#: src/tables/part/PartTable.tsx:182
+#: src/tables/part/PartTable.tsx:183
#: src/tables/stock/StockItemTable.tsx:258
msgid "Assembly"
msgstr ""
-#: src/tables/part/PartTable.tsx:183
+#: src/tables/part/PartTable.tsx:184
msgid "Filter by assembly attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:189
+#: src/tables/part/PartTable.tsx:190
msgid "Include parts in subcategories"
msgstr ""
-#: src/tables/part/PartTable.tsx:194
-msgid "Component"
-msgstr ""
-
-#: src/tables/part/PartTable.tsx:195
+#: src/tables/part/PartTable.tsx:196
msgid "Filter by component attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:201
+#: src/tables/part/PartTable.tsx:202
msgid "Filter by trackable attribute"
msgstr ""
-#: src/tables/part/PartTable.tsx:207
+#: src/tables/part/PartTable.tsx:208
msgid "Filter by parts which have units"
msgstr ""
-#: src/tables/part/PartTable.tsx:212
+#: src/tables/part/PartTable.tsx:213
msgid "Has IPN"
msgstr ""
-#: src/tables/part/PartTable.tsx:213
+#: src/tables/part/PartTable.tsx:214
msgid "Filter by parts which have an internal part number"
msgstr ""
-#: src/tables/part/PartTable.tsx:218
+#: src/tables/part/PartTable.tsx:219
msgid "Has Stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:219
+#: src/tables/part/PartTable.tsx:220
msgid "Filter by parts which have stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:225
+#: src/tables/part/PartTable.tsx:226
msgid "Filter by parts which have low stock"
msgstr ""
-#: src/tables/part/PartTable.tsx:230
+#: src/tables/part/PartTable.tsx:231
msgid "Purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:231
+#: src/tables/part/PartTable.tsx:232
msgid "Filter by parts which are purchaseable"
msgstr ""
-#: src/tables/part/PartTable.tsx:236
+#: src/tables/part/PartTable.tsx:237
msgid "Salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:237
+#: src/tables/part/PartTable.tsx:238
msgid "Filter by parts which are salable"
msgstr ""
-#: src/tables/part/PartTable.tsx:243
+#: src/tables/part/PartTable.tsx:244
msgid "Filter by parts which are virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:247
+#: src/tables/part/PartTable.tsx:248
msgid "Not Virtual"
msgstr ""
-#: src/tables/part/PartTable.tsx:275
-#: src/tables/part/PartTable.tsx:291
-msgid "Add Part"
-msgstr ""
-
#: src/tables/part/PartTestTemplateTable.tsx:52
msgid "Results"
msgstr ""
@@ -5302,113 +5581,122 @@ msgstr ""
msgid "Are you sure you want to remove this manufacturer part?"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:84
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:86
msgid "Part Description"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:111
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:113
msgid "Total Quantity"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:127
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:129
msgid "Received"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:146
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:148
msgid "Supplier Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:153
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:155
msgid "Supplier Link"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:160
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:162
msgid "Manufacturer Code"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:168
-msgid "Unit Price"
-msgstr ""
-
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:174
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:176
msgid "Destination"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:188
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:198
msgid "Add Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:203
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:215
msgid "Edit Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:211
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:223
msgid "Delete Line Item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:222
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:234
msgid "Receive line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:256
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:272
msgid "Add line item"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:261
+#: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:282
msgid "Receive items"
msgstr ""
-#: src/tables/purchasing/PurchaseOrderTable.tsx:102
-#: src/tables/purchasing/PurchaseOrderTable.tsx:119
+#: src/tables/purchasing/PurchaseOrderTable.tsx:113
+#: src/tables/purchasing/PurchaseOrderTable.tsx:130
msgid "Add Purchase Order"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:88
+#: src/tables/purchasing/SupplierPartTable.tsx:94
msgid "MPN"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:111
+#: src/tables/purchasing/SupplierPartTable.tsx:123
msgid "Base units"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:137
-msgid "Updated"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:156
-msgid "Add Supplier Part"
-msgstr ""
-
-#: src/tables/purchasing/SupplierPartTable.tsx:159
+#: src/tables/purchasing/SupplierPartTable.tsx:171
msgid "Supplier part created"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:168
+#: src/tables/purchasing/SupplierPartTable.tsx:177
msgid "Add supplier part"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:193
-msgid "Supplier part updated"
+#: src/tables/purchasing/SupplierPartTable.tsx:189
+msgid "Show active supplier parts"
msgstr ""
-#: src/tables/purchasing/SupplierPartTable.tsx:204
-msgid "Delete Supplier Part"
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+msgid "Active Part"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:193
+#~ msgid "Supplier part updated"
+#~ msgstr "Supplier part updated"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:194
+msgid "Show active internal parts"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:198
+msgid "Active Supplier"
+msgstr ""
+
+#: src/tables/purchasing/SupplierPartTable.tsx:199
+msgid "Show active suppliers"
msgstr ""
#: src/tables/purchasing/SupplierPartTable.tsx:205
-msgid "Supplier part deleted"
-msgstr ""
+#~ msgid "Supplier part deleted"
+#~ msgstr "Supplier part deleted"
#: src/tables/purchasing/SupplierPartTable.tsx:207
-msgid "Are you sure you want to remove this supplier part?"
+#~ msgid "Are you sure you want to remove this supplier part?"
+#~ msgstr "Are you sure you want to remove this supplier part?"
+
+#: src/tables/purchasing/SupplierPartTable.tsx:219
+msgid "Delete Supplier Part"
msgstr ""
-#: src/tables/sales/ReturnOrderTable.tsx:95
+#: src/tables/sales/ReturnOrderTable.tsx:102
+#: src/tables/sales/ReturnOrderTable.tsx:116
msgid "Add Return Order"
msgstr ""
-#: src/tables/sales/SalesOrderTable.tsx:66
-#: src/tables/sales/SalesOrderTable.tsx:83
+#: src/tables/sales/SalesOrderTable.tsx:68
+#: src/tables/sales/SalesOrderTable.tsx:85
msgid "Add Sales Order"
msgstr ""
@@ -5793,52 +6081,52 @@ msgstr ""
msgid "Show items in an external location"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:403
+#: src/tables/stock/StockItemTable.tsx:411
msgid "Add a new stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:412
+#: src/tables/stock/StockItemTable.tsx:420
msgid "Remove some quantity from a stock item"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:434
+#: src/tables/stock/StockItemTable.tsx:442
msgid "Move Stock items to new locations"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:441
+#: src/tables/stock/StockItemTable.tsx:449
msgid "Change stock status"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:443
+#: src/tables/stock/StockItemTable.tsx:451
msgid "Change the status of stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:450
+#: src/tables/stock/StockItemTable.tsx:458
msgid "Merge stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:452
+#: src/tables/stock/StockItemTable.tsx:460
msgid "Merge stock items"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:459
+#: src/tables/stock/StockItemTable.tsx:467
msgid "Order stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:461
-#: src/tables/stock/StockItemTable.tsx:467
+#: src/tables/stock/StockItemTable.tsx:469
+#: src/tables/stock/StockItemTable.tsx:475
msgid "Order new stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:465
+#: src/tables/stock/StockItemTable.tsx:473
msgid "Assign to customer"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:474
+#: src/tables/stock/StockItemTable.tsx:482
msgid "Delete stock"
msgstr ""
-#: src/tables/stock/StockItemTable.tsx:476
+#: src/tables/stock/StockItemTable.tsx:484
msgid "Delete stock items"
msgstr ""
@@ -5875,8 +6163,8 @@ msgid "Finished"
msgstr ""
#: src/tables/stock/StockItemTestResultTable.tsx:277
-#: src/tables/stock/StockItemTestResultTable.tsx:351
-#: src/tables/stock/StockItemTestResultTable.tsx:406
+#: src/tables/stock/StockItemTestResultTable.tsx:349
+#: src/tables/stock/StockItemTestResultTable.tsx:404
msgid "Add Test Result"
msgstr ""
@@ -5884,61 +6172,61 @@ msgstr ""
msgid "Test result added"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:290
-#: src/tables/stock/StockItemTestResultTable.tsx:361
+#: src/tables/stock/StockItemTestResultTable.tsx:288
+#: src/tables/stock/StockItemTestResultTable.tsx:359
msgid "Edit Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:292
+#: src/tables/stock/StockItemTestResultTable.tsx:290
msgid "Test result updated"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:298
-#: src/tables/stock/StockItemTestResultTable.tsx:370
+#: src/tables/stock/StockItemTestResultTable.tsx:296
+#: src/tables/stock/StockItemTestResultTable.tsx:368
msgid "Delete Test Result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:300
+#: src/tables/stock/StockItemTestResultTable.tsx:298
msgid "Test result deleted"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:314
+#: src/tables/stock/StockItemTestResultTable.tsx:312
msgid "Test Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:315
+#: src/tables/stock/StockItemTestResultTable.tsx:313
msgid "Test result has been recorded"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:322
+#: src/tables/stock/StockItemTestResultTable.tsx:320
msgid "Failed to record test result"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:339
+#: src/tables/stock/StockItemTestResultTable.tsx:337
msgid "Pass Test"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:387
+#: src/tables/stock/StockItemTestResultTable.tsx:385
msgid "Required"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:388
+#: src/tables/stock/StockItemTestResultTable.tsx:386
msgid "Show results for required tests"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:392
+#: src/tables/stock/StockItemTestResultTable.tsx:390
msgid "Include Installed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:393
+#: src/tables/stock/StockItemTestResultTable.tsx:391
msgid "Show results for installed stock items"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:397
+#: src/tables/stock/StockItemTestResultTable.tsx:395
msgid "Passed"
msgstr ""
-#: src/tables/stock/StockItemTestResultTable.tsx:398
+#: src/tables/stock/StockItemTestResultTable.tsx:396
msgid "Show only passed tests"
msgstr ""
diff --git a/src/frontend/src/pages/Auth/Login.tsx b/src/frontend/src/pages/Auth/Login.tsx
index 12f2fcf2b5..77e2b541e5 100644
--- a/src/frontend/src/pages/Auth/Login.tsx
+++ b/src/frontend/src/pages/Auth/Login.tsx
@@ -2,7 +2,7 @@ import { Trans, t } from '@lingui/macro';
import { Center, Container, Paper, Text } from '@mantine/core';
import { useDisclosure, useToggle } from '@mantine/hooks';
import { useEffect } from 'react';
-import { useLocation, useNavigate } from 'react-router-dom';
+import { useLocation, useNavigate, useSearchParams } from 'react-router-dom';
import { setApiDefaults } from '../../App';
import { AuthFormOptions } from '../../components/forms/AuthFormOptions';
@@ -13,7 +13,7 @@ import {
} from '../../components/forms/AuthenticationForm';
import { InstanceOptions } from '../../components/forms/InstanceOptions';
import { defaultHostKey } from '../../defaults/defaultHostList';
-import { checkLoginState } from '../../functions/auth';
+import { checkLoginState, doBasicLogin } from '../../functions/auth';
import { useServerApiState } from '../../states/ApiState';
import { useLocalState } from '../../states/LocalState';
@@ -33,6 +33,7 @@ export default function Login() {
const [loginMode, setMode] = useDisclosure(true);
const navigate = useNavigate();
const location = useLocation();
+ const [searchParams] = useSearchParams();
// Data manipulation functions
function ChangeHost(newHost: string): void {
@@ -48,6 +49,16 @@ export default function Login() {
}
checkLoginState(navigate, location?.state?.redirectFrom, true);
+
+ // check if we got login params (login and password)
+ if (searchParams.has('login') && searchParams.has('password')) {
+ doBasicLogin(
+ searchParams.get('login') ?? '',
+ searchParams.get('password') ?? ''
+ ).then(() => {
+ navigate(location?.state?.redirectFrom ?? '/home');
+ });
+ }
}, []);
// Fetch server data on mount if no server data is present
diff --git a/src/frontend/src/pages/Auth/Logout.tsx b/src/frontend/src/pages/Auth/Logout.tsx
new file mode 100644
index 0000000000..25dfd04c4e
--- /dev/null
+++ b/src/frontend/src/pages/Auth/Logout.tsx
@@ -0,0 +1,34 @@
+import { Trans } from '@lingui/macro';
+import { Card, Container, Group, Loader, Stack, Text } from '@mantine/core';
+import { useEffect } from 'react';
+import { useNavigate } from 'react-router-dom';
+
+import { doLogout } from '../../functions/auth';
+
+/* Expose a route for explicit logout via URL */
+export default function Logout() {
+ const navigate = useNavigate();
+
+ useEffect(() => {
+ doLogout(navigate);
+ }, []);
+
+ return (
+ <>
+
+
+
+
+
+ Logging out
+
+
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/src/frontend/src/pages/build/BuildDetail.tsx b/src/frontend/src/pages/build/BuildDetail.tsx
index 52695ff463..1f6bb03f0d 100644
--- a/src/frontend/src/pages/build/BuildDetail.tsx
+++ b/src/frontend/src/pages/build/BuildDetail.tsx
@@ -35,8 +35,7 @@ import { NotesEditor } from '../../components/widgets/MarkdownEditor';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
-import { buildOrderFields } from '../../forms/BuildForms';
-import { partCategoryFields } from '../../forms/PartForms';
+import { useBuildOrderFields } from '../../forms/BuildForms';
import { useEditApiFormModal } from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
@@ -204,8 +203,7 @@ export default function BuildDetail() {
content: build?.pk ? (
) : (
@@ -280,11 +278,13 @@ export default function BuildDetail() {
];
}, [build, id]);
+ const buildOrderFields = useBuildOrderFields({ create: false });
+
const editBuild = useEditApiFormModal({
url: ApiEndpoints.build_order_list,
pk: build.pk,
title: t`Edit Build Order`,
- fields: buildOrderFields(),
+ fields: buildOrderFields,
onFormSuccess: () => {
refreshInstance();
}
diff --git a/src/frontend/src/pages/company/CompanyDetail.tsx b/src/frontend/src/pages/company/CompanyDetail.tsx
index eed845e9ca..5244a3f648 100644
--- a/src/frontend/src/pages/company/CompanyDetail.tsx
+++ b/src/frontend/src/pages/company/CompanyDetail.tsx
@@ -15,10 +15,11 @@ import {
IconTruckReturn,
IconUsersGroup
} from '@tabler/icons-react';
-import { useMemo } from 'react';
+import { ReactNode, useMemo } from 'react';
import { useParams } from 'react-router-dom';
import { DetailsField, DetailsTable } from '../../components/details/Details';
+import DetailsBadge from '../../components/details/DetailsBadge';
import { DetailsImage } from '../../components/details/DetailsImage';
import { ItemDetailsGrid } from '../../components/details/ItemDetails';
import {
@@ -293,6 +294,12 @@ export default function CompanyDetail(props: CompanyDetailProps) {
];
}, [id, company, user]);
+ const badges: ReactNode[] = useMemo(() => {
+ return [
+
+ ];
+ }, [company]);
+
return (
<>
{editCompany.modal}
@@ -304,6 +311,7 @@ export default function CompanyDetail(props: CompanyDetailProps) {
actions={companyActions}
imageUrl={company.image}
breadcrumbs={props.breadcrumbs}
+ badges={badges}
/>
diff --git a/src/frontend/src/pages/company/SupplierPartDetail.tsx b/src/frontend/src/pages/company/SupplierPartDetail.tsx
index 64731aefc1..49edc7f66f 100644
--- a/src/frontend/src/pages/company/SupplierPartDetail.tsx
+++ b/src/frontend/src/pages/company/SupplierPartDetail.tsx
@@ -7,10 +7,11 @@ import {
IconPackages,
IconShoppingCart
} from '@tabler/icons-react';
-import { useMemo } from 'react';
-import { useParams } from 'react-router-dom';
+import { ReactNode, useMemo } from 'react';
+import { useNavigate, useParams } from 'react-router-dom';
import { DetailsField, DetailsTable } from '../../components/details/Details';
+import DetailsBadge from '../../components/details/DetailsBadge';
import { DetailsImage } from '../../components/details/DetailsImage';
import { ItemDetailsGrid } from '../../components/details/ItemDetails';
import {
@@ -25,7 +26,11 @@ import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
import { useSupplierPartFields } from '../../forms/CompanyForms';
-import { useEditApiFormModal } from '../../hooks/UseForm';
+import { getDetailUrl } from '../../functions/urls';
+import {
+ useCreateApiFormModal,
+ useEditApiFormModal
+} from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
@@ -38,6 +43,8 @@ export default function SupplierPartDetail() {
const user = useUserState();
+ const navigate = useNavigate();
+
const {
instance: supplierPart,
instanceQuery,
@@ -245,7 +252,8 @@ export default function SupplierPartDetail() {
icon={}
actions={[
DuplicateItemAction({
- hidden: !user.hasAddRole(UserRoles.purchase_order)
+ hidden: !user.hasAddRole(UserRoles.purchase_order),
+ onClick: () => duplicateSupplierPart.open()
}),
EditItemAction({
hidden: !user.hasChangeRole(UserRoles.purchase_order),
@@ -259,19 +267,30 @@ export default function SupplierPartDetail() {
];
}, [user]);
- const editSupplierPartFields = useSupplierPartFields({
- hidePart: true,
- partPk: supplierPart?.pk
- });
+ const supplierPartFields = useSupplierPartFields();
const editSuppliertPart = useEditApiFormModal({
url: ApiEndpoints.supplier_part_list,
pk: supplierPart?.pk,
title: t`Edit Supplier Part`,
- fields: editSupplierPartFields,
+ fields: supplierPartFields,
onFormSuccess: refreshInstance
});
+ const duplicateSupplierPart = useCreateApiFormModal({
+ url: ApiEndpoints.supplier_part_list,
+ title: t`Add Supplier Part`,
+ fields: supplierPartFields,
+ initialData: {
+ ...supplierPart
+ },
+ onFormSuccess: (response: any) => {
+ if (response.pk) {
+ navigate(getDetailUrl(ModelType.supplierpart, response.pk));
+ }
+ }
+ });
+
const breadcrumbs = useMemo(() => {
return [
{
@@ -285,15 +304,27 @@ export default function SupplierPartDetail() {
];
}, [supplierPart]);
+ const badges: ReactNode[] = useMemo(() => {
+ return [
+
+ ];
+ }, [supplierPart]);
+
return (
<>
{editSuppliertPart.modal}
+ {duplicateSupplierPart.modal}
diff --git a/src/frontend/src/pages/part/PartDetail.tsx b/src/frontend/src/pages/part/PartDetail.tsx
index 1e76fb46e0..09a1dfa36b 100644
--- a/src/frontend/src/pages/part/PartDetail.tsx
+++ b/src/frontend/src/pages/part/PartDetail.tsx
@@ -1,13 +1,5 @@
import { t } from '@lingui/macro';
-import {
- Badge,
- Grid,
- Group,
- LoadingOverlay,
- Skeleton,
- Stack,
- Text
-} from '@mantine/core';
+import { Grid, LoadingOverlay, Skeleton, Stack } from '@mantine/core';
import {
IconBookmarks,
IconBuilding,
@@ -32,13 +24,11 @@ import {
} from '@tabler/icons-react';
import { useSuspenseQuery } from '@tanstack/react-query';
import { ReactNode, useMemo, useState } from 'react';
-import { useParams } from 'react-router-dom';
+import { useNavigate, useParams } from 'react-router-dom';
import { api } from '../../App';
import { DetailsField, DetailsTable } from '../../components/details/Details';
-import DetailsBadge, {
- DetailsBadgeProps
-} from '../../components/details/DetailsBadge';
+import DetailsBadge from '../../components/details/DetailsBadge';
import { DetailsImage } from '../../components/details/DetailsImage';
import { ItemDetailsGrid } from '../../components/details/ItemDetails';
import { PartIcons } from '../../components/details/PartIcons';
@@ -68,7 +58,10 @@ import {
} from '../../forms/StockForms';
import { InvenTreeIcon } from '../../functions/icons';
import { getDetailUrl } from '../../functions/urls';
-import { useEditApiFormModal } from '../../hooks/UseForm';
+import {
+ useCreateApiFormModal,
+ useEditApiFormModal
+} from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
@@ -93,6 +86,7 @@ export default function PartDetail() {
const { id } = useParams();
const user = useUserState();
+ const navigate = useNavigate();
const [treeOpen, setTreeOpen] = useState(false);
@@ -664,7 +658,8 @@ export default function PartDetail() {
label={t`In Production` + `: ${part.building}`}
color="blue"
visible={part.building > 0}
- />
+ />,
+
];
}, [part, instanceQuery]);
@@ -678,6 +673,20 @@ export default function PartDetail() {
onFormSuccess: refreshInstance
});
+ const duplicatePart = useCreateApiFormModal({
+ url: ApiEndpoints.part_list,
+ title: t`Add Part`,
+ fields: partFields,
+ initialData: {
+ ...part
+ },
+ onFormSuccess: (response: any) => {
+ if (response.pk) {
+ navigate(getDetailUrl(ModelType.part, response.pk));
+ }
+ }
+ });
+
const stockActionProps: StockOperationProps = useMemo(() => {
return {
pk: part.pk,
@@ -695,10 +704,10 @@ export default function PartDetail() {
actions={[
ViewBarcodeAction({}),
LinkBarcodeAction({
- hidden: part?.barcode_hash
+ hidden: part?.barcode_hash || !user.hasChangeRole(UserRoles.part)
}),
UnlinkBarcodeAction({
- hidden: !part?.barcode_hash
+ hidden: !part?.barcode_hash || !user.hasChangeRole(UserRoles.part)
})
]}
/>,
@@ -737,7 +746,8 @@ export default function PartDetail() {
icon={}
actions={[
DuplicateItemAction({
- hidden: !user.hasAddRole(UserRoles.part)
+ hidden: !user.hasAddRole(UserRoles.part),
+ onClick: () => duplicatePart.open()
}),
EditItemAction({
hidden: !user.hasChangeRole(UserRoles.part),
@@ -753,6 +763,7 @@ export default function PartDetail() {
return (
<>
+ {duplicatePart.modal}
{editPart.modal}
diff --git a/src/frontend/src/pages/part/PartPricingPanel.tsx b/src/frontend/src/pages/part/PartPricingPanel.tsx
index 0f570e681e..44e8439405 100644
--- a/src/frontend/src/pages/part/PartPricingPanel.tsx
+++ b/src/frontend/src/pages/part/PartPricingPanel.tsx
@@ -1,6 +1,6 @@
import { t } from '@lingui/macro';
import { Accordion, Alert, LoadingOverlay, Stack, Text } from '@mantine/core';
-import { ReactNode, useMemo } from 'react';
+import { useMemo, useState } from 'react';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { UserRoles } from '../../enums/Roles';
@@ -15,6 +15,19 @@ import SaleHistoryPanel from './pricing/SaleHistoryPanel';
import SupplierPricingPanel from './pricing/SupplierPricingPanel';
import VariantPricingPanel from './pricing/VariantPricingPanel';
+export enum panelOptions {
+ overview = 'overview',
+ purchase = 'purchase',
+ internal = 'internal',
+ supplier = 'supplier',
+ bom = 'bom',
+ variant = 'variant',
+ sale_pricing = 'sale-pricing',
+ sale_history = 'sale-history',
+ override = 'override',
+ overall = 'overall'
+}
+
export default function PartPricingPanel({ part }: { part: any }) {
const user = useUserState();
@@ -40,6 +53,17 @@ export default function PartPricingPanel({ part }: { part: any }) {
return user.hasViewRole(UserRoles.sales_order) && part?.salable;
}, [user, part]);
+ const [value, setValue] = useState([panelOptions.overview]);
+ function doNavigation(panel: panelOptions) {
+ if (!value.includes(panel)) {
+ setValue([...value, panel]);
+ }
+ const element = document.getElementById(panel);
+ if (element) {
+ element.scrollIntoView();
+ }
+ }
+
return (
@@ -49,18 +73,27 @@ export default function PartPricingPanel({ part }: { part: any }) {
)}
{pricing && (
-
+
}
- label="overview"
+ content={
+
+ }
+ label={panelOptions.overview}
title={t`Pricing Overview`}
visible={true}
/>
}
- label="purchase"
+ label={panelOptions.purchase}
title={t`Purchase History`}
visible={purchaseOrderPricing}
+ disabled={
+ !pricing?.purchase_cost_min || !pricing?.purchase_cost_max
+ }
/>
}
- label="internal"
+ label={panelOptions.internal}
title={t`Internal Pricing`}
visible={internalPricing}
+ disabled={
+ !pricing?.internal_cost_min || !pricing?.internal_cost_max
+ }
/>
}
- label="supplier"
+ label={panelOptions.supplier}
title={t`Supplier Pricing`}
visible={purchaseOrderPricing}
+ disabled={
+ !pricing?.supplier_price_min || !pricing?.supplier_price_max
+ }
/>
}
- label="bom"
+ label={panelOptions.bom}
title={t`BOM Pricing`}
visible={part?.assembly}
+ disabled={!pricing?.bom_cost_min || !pricing?.bom_cost_max}
/>
}
- label="variant"
+ label={panelOptions.variant}
title={t`Variant Pricing`}
visible={part?.is_template}
+ disabled={!pricing?.variant_cost_min || !pricing?.variant_cost_max}
/>
}
- label="sale-pricing"
+ label={panelOptions.sale_pricing}
title={t`Sale Pricing`}
visible={salesOrderPricing}
+ disabled={!pricing?.sale_price_min || !pricing?.sale_price_max}
/>
}
- label="sale-history"
+ label={panelOptions.sale_history}
title={t`Sale History`}
visible={salesOrderPricing}
+ disabled={!pricing?.sale_history_min || !pricing?.sale_history_max}
/>
)}
diff --git a/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx b/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx
index 98a561d6c0..e431905eb6 100644
--- a/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx
+++ b/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx
@@ -21,7 +21,12 @@ import {
} from 'recharts';
import { CHART_COLORS } from '../../../components/charts/colors';
-import { formatDecimal, formatPriceRange } from '../../../defaults/formatters';
+import { tooltipFormatter } from '../../../components/charts/tooltipFormatter';
+import {
+ formatCurrency,
+ formatDecimal,
+ formatPriceRange
+} from '../../../defaults/formatters';
import { ApiEndpoints } from '../../../enums/ApiEndpoints';
import { ModelType } from '../../../enums/ModelType';
import { useTable } from '../../../hooks/UseTable';
@@ -32,7 +37,13 @@ import { InvenTreeTable } from '../../../tables/InvenTreeTable';
import { NoPricingData } from './PricingPanel';
// Display BOM data as a pie chart
-function BomPieChart({ data }: { data: any[] }) {
+function BomPieChart({
+ data,
+ currency
+}: {
+ readonly data: any[];
+ readonly currency: string;
+}) {
return (
@@ -64,20 +75,36 @@ function BomPieChart({ data }: { data: any[] }) {
/>
))}
-
+ tooltipFormatter(label, currency)}
+ />
);
}
// Display BOM data as a bar chart
-function BomBarChart({ data }: { data: any[] }) {
+function BomBarChart({
+ data,
+ currency
+}: {
+ readonly data: any[];
+ readonly currency: string;
+}) {
return (
-
-
+
+ formatCurrency(value, {
+ currency: currency
+ })?.toString() ?? ''
+ }
+ />
+ tooltipFormatter(label, currency)}
+ />
{bomPricingData.length > 0 ? (
- {chartType == 'bar' && }
- {chartType == 'pie' && }
+ {chartType == 'bar' && (
+
+ )}
+ {chartType == 'pie' && (
+
+ )}
{
+ if (table.records.length === 0) {
+ return '';
+ }
+ return table.records[0].currency;
+ }, [table.records]);
+
return (
<>
{newPriceBreak.modal}
@@ -166,8 +174,18 @@ export default function PriceBreakPanel({
-
-
+
+ formatCurrency(value, {
+ currency: currency
+ })?.toString() ?? ''
+ }
+ />
+
+ tooltipFormatter(label, currency)
+ }
+ />
void;
}): ReactNode {
const columns: DataTableColumn[] = useMemo(() => {
return [
@@ -47,10 +59,17 @@ export default function PricingOverviewPanel({
accessor: 'title',
title: t`Pricing Category`,
render: (record: PricingOverviewEntry) => {
+ const is_link = record.name !== panelOptions.overall;
return (
{record.icon}
- {record.title}
+ {is_link ? (
+ doNavigation(record.name)}>
+ {record.title}
+
+ ) : (
+ {record.title}
+ )}
);
}
@@ -86,56 +105,70 @@ export default function PricingOverviewPanel({
const overviewData: PricingOverviewEntry[] = useMemo(() => {
return [
{
- name: 'internal',
+ name: panelOptions.internal,
title: t`Internal Pricing`,
icon: ,
min_value: pricing?.internal_cost_min,
max_value: pricing?.internal_cost_max
},
{
- name: 'bom',
+ name: panelOptions.bom,
title: t`BOM Pricing`,
icon: ,
min_value: pricing?.bom_cost_min,
max_value: pricing?.bom_cost_max
},
{
- name: 'purchase',
+ name: panelOptions.purchase,
title: t`Purchase Pricing`,
icon: ,
min_value: pricing?.purchase_cost_min,
max_value: pricing?.purchase_cost_max
},
{
- name: 'supplier',
+ name: panelOptions.supplier,
title: t`Supplier Pricing`,
icon: ,
min_value: pricing?.supplier_price_min,
max_value: pricing?.supplier_price_max
},
{
- name: 'variants',
+ name: panelOptions.variant,
title: t`Variant Pricing`,
icon: ,
min_value: pricing?.variant_cost_min,
max_value: pricing?.variant_cost_max
},
{
- name: 'override',
+ name: panelOptions.sale_pricing,
+ title: t`Sale Pricing`,
+ icon: ,
+ min_value: pricing?.sale_price_min,
+ max_value: pricing?.sale_price_max
+ },
+ {
+ name: panelOptions.sale_history,
+ title: t`Sale History`,
+ icon: ,
+ min_value: pricing?.sale_history_min,
+ max_value: pricing?.sale_history_max
+ },
+ {
+ name: panelOptions.override,
title: t`Override Pricing`,
icon: ,
min_value: pricing?.override_min,
max_value: pricing?.override_max
},
{
- name: 'overall',
+ name: panelOptions.overall,
title: t`Overall Pricing`,
icon: ,
min_value: pricing?.overall_min,
max_value: pricing?.overall_max
}
].filter((entry) => {
- return entry.min_value !== null || entry.max_value !== null;
+ return !(entry.min_value == null || entry.max_value == null);
});
}, [part, pricing]);
@@ -156,10 +189,20 @@ export default function PricingOverviewPanel({
-
+
-
-
+
+ formatCurrency(value, {
+ currency: pricing?.currency
+ })?.toString() ?? ''
+ }
+ />
+
+ tooltipFormatter(label, pricing?.currency)
+ }
+ />
+ {props.disabled && (
+ }
+ />
+ )}
+
+
+ );
+}
export default function PricingPanel({
content,
label,
title,
- visible
+ visible,
+ disabled = undefined
}: {
content: ReactNode;
- label: string;
+ label: panelOptions;
title: string;
visible: boolean;
+ disabled?: boolean;
}): ReactNode {
+ const is_disabled = disabled ?? false;
return (
visible && (
-
-
+
+
{title}
-
- {content}
+
+ {!is_disabled && content}
)
);
diff --git a/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx b/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx
index e71854efa9..ae88a6d7c4 100644
--- a/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx
+++ b/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx
@@ -12,6 +12,7 @@ import {
} from 'recharts';
import { CHART_COLORS } from '../../../components/charts/colors';
+import { tooltipFormatter } from '../../../components/charts/tooltipFormatter';
import { formatCurrency, renderDate } from '../../../defaults/formatters';
import { ApiEndpoints } from '../../../enums/ApiEndpoints';
import { useTable } from '../../../hooks/UseTable';
@@ -95,6 +96,13 @@ export default function PurchaseHistoryPanel({
];
}, []);
+ const currency: string = useMemo(() => {
+ if (table.records.length === 0) {
+ return '';
+ }
+ return table.records[0].purchase_price_currency;
+ }, [table.records]);
+
const purchaseHistoryData = useMemo(() => {
return table.records.map((record: any) => {
return {
@@ -126,8 +134,16 @@ export default function PurchaseHistoryPanel({
-
-
+
+ formatCurrency(value, {
+ currency: currency
+ })?.toString() ?? ''
+ }
+ />
+ tooltipFormatter(label, currency)}
+ />
{
+ if (table.records.length === 0) {
+ return '';
+ }
+ return table.records[0].sale_price_currency;
+ }, [table.records]);
+
const saleHistoryData = useMemo(() => {
return table.records.map((record: any) => {
return {
@@ -90,8 +98,16 @@ export default function SaleHistoryPanel({ part }: { part: any }): ReactNode {
-
-
+
+ formatCurrency(value, {
+ currency: currency
+ })?.toString() ?? ''
+ }
+ />
+ tooltipFormatter(label, currency)}
+ />
{
+ if (table.records.length === 0) {
+ return '';
+ }
+ return table.records[0].currency;
+ }, [table.records]);
+
const supplierPricingData = useMemo(() => {
return table.records.map((record: any) => {
return {
@@ -58,8 +67,16 @@ export default function SupplierPricingPanel({ part }: { part: any }) {
-
-
+
+ formatCurrency(value, {
+ currency: currency
+ })?.toString() ?? ''
+ }
+ />
+ tooltipFormatter(label, currency)}
+ />
-
-
+
+ formatCurrency(value, {
+ currency: pricing?.currency
+ })?.toString() ?? ''
+ }
+ />
+
+ tooltipFormatter(label, pricing?.currency)
+ }
+ />
{
refreshInstance();
}
@@ -227,7 +229,12 @@ export default function PurchaseOrderDetail() {
name: 'line-items',
label: t`Line Items`,
icon: ,
- content:
+ content: (
+
+ )
},
{
name: 'received-stock',
@@ -269,7 +276,6 @@ export default function PurchaseOrderDetail() {
}, [order, id]);
const poActions = useMemo(() => {
- // TODO: Disable certain actions based on user permissions
return [
}
actions={[
EditItemAction({
+ hidden: !user.hasChangeRole(UserRoles.purchase_order),
onClick: () => {
editPurchaseOrder.open();
}
}),
- DeleteItemAction({})
+ DeleteItemAction({
+ hidden: !user.hasDeleteRole(UserRoles.purchase_order)
+ })
]}
/>
];
diff --git a/src/frontend/src/pages/sales/ReturnOrderDetail.tsx b/src/frontend/src/pages/sales/ReturnOrderDetail.tsx
index 2455488673..c54b7d085c 100644
--- a/src/frontend/src/pages/sales/ReturnOrderDetail.tsx
+++ b/src/frontend/src/pages/sales/ReturnOrderDetail.tsx
@@ -1,6 +1,7 @@
import { t } from '@lingui/macro';
import { Grid, LoadingOverlay, Skeleton, Stack } from '@mantine/core';
import {
+ IconDots,
IconInfoCircle,
IconList,
IconNotes,
@@ -12,6 +13,11 @@ import { useParams } from 'react-router-dom';
import { DetailsField, DetailsTable } from '../../components/details/Details';
import { DetailsImage } from '../../components/details/DetailsImage';
import { ItemDetailsGrid } from '../../components/details/ItemDetails';
+import {
+ ActionDropdown,
+ DeleteItemAction,
+ EditItemAction
+} from '../../components/items/ActionDropdown';
import { PageDetail } from '../../components/nav/PageDetail';
import { PanelGroup, PanelType } from '../../components/nav/PanelGroup';
import { StatusRenderer } from '../../components/render/StatusRenderer';
@@ -19,8 +25,11 @@ import { NotesEditor } from '../../components/widgets/MarkdownEditor';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
+import { useReturnOrderFields } from '../../forms/SalesOrderForms';
+import { useEditApiFormModal } from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
+import { useUserState } from '../../states/UserState';
import { AttachmentTable } from '../../tables/general/AttachmentTable';
/**
@@ -29,7 +38,13 @@ import { AttachmentTable } from '../../tables/general/AttachmentTable';
export default function ReturnOrderDetail() {
const { id } = useParams();
- const { instance: order, instanceQuery } = useInstance({
+ const user = useUserState();
+
+ const {
+ instance: order,
+ instanceQuery,
+ refreshInstance
+ } = useInstance({
endpoint: ApiEndpoints.return_order_list,
pk: id,
params: {
@@ -233,8 +248,43 @@ export default function ReturnOrderDetail() {
];
}, [order, instanceQuery]);
+ const returnOrderFields = useReturnOrderFields();
+
+ const editReturnOrder = useEditApiFormModal({
+ url: ApiEndpoints.return_order_list,
+ pk: order.pk,
+ title: t`Edit Return Order`,
+ fields: returnOrderFields,
+ onFormSuccess: () => {
+ refreshInstance();
+ }
+ });
+
+ const orderActions = useMemo(() => {
+ return [
+ }
+ actions={[
+ EditItemAction({
+ hidden: !user.hasChangeRole(UserRoles.return_order),
+ onClick: () => {
+ editReturnOrder.open();
+ }
+ }),
+ DeleteItemAction({
+ hidden: !user.hasDeleteRole(UserRoles.return_order)
+ // TODO: Delete?
+ })
+ ]}
+ />
+ ];
+ }, [user]);
+
return (
<>
+ {editReturnOrder.modal}
diff --git a/src/frontend/src/pages/sales/SalesOrderDetail.tsx b/src/frontend/src/pages/sales/SalesOrderDetail.tsx
index 182c0fbfde..783551d860 100644
--- a/src/frontend/src/pages/sales/SalesOrderDetail.tsx
+++ b/src/frontend/src/pages/sales/SalesOrderDetail.tsx
@@ -1,6 +1,7 @@
import { t } from '@lingui/macro';
import { Grid, LoadingOverlay, Skeleton, Stack } from '@mantine/core';
import {
+ IconDots,
IconInfoCircle,
IconList,
IconNotes,
@@ -15,6 +16,11 @@ import { useParams } from 'react-router-dom';
import { DetailsField, DetailsTable } from '../../components/details/Details';
import { DetailsImage } from '../../components/details/DetailsImage';
import { ItemDetailsGrid } from '../../components/details/ItemDetails';
+import {
+ ActionDropdown,
+ DeleteItemAction,
+ EditItemAction
+} from '../../components/items/ActionDropdown';
import { PageDetail } from '../../components/nav/PageDetail';
import { PanelGroup, PanelType } from '../../components/nav/PanelGroup';
import { StatusRenderer } from '../../components/render/StatusRenderer';
@@ -22,8 +28,11 @@ import { NotesEditor } from '../../components/widgets/MarkdownEditor';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
+import { useSalesOrderFields } from '../../forms/SalesOrderForms';
+import { useEditApiFormModal } from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
+import { useUserState } from '../../states/UserState';
import { BuildOrderTable } from '../../tables/build/BuildOrderTable';
import { AttachmentTable } from '../../tables/general/AttachmentTable';
@@ -33,7 +42,13 @@ import { AttachmentTable } from '../../tables/general/AttachmentTable';
export default function SalesOrderDetail() {
const { id } = useParams();
- const { instance: order, instanceQuery } = useInstance({
+ const user = useUserState();
+
+ const {
+ instance: order,
+ instanceQuery,
+ refreshInstance
+ } = useInstance({
endpoint: ApiEndpoints.sales_order_list,
pk: id,
params: {
@@ -185,6 +200,18 @@ export default function SalesOrderDetail() {
);
}, [order, instanceQuery]);
+ const salesOrderFields = useSalesOrderFields();
+
+ const editSalesOrder = useEditApiFormModal({
+ url: ApiEndpoints.sales_order_list,
+ pk: order.pk,
+ title: t`Edit Sales Order`,
+ fields: salesOrderFields,
+ onFormSuccess: () => {
+ refreshInstance();
+ }
+ });
+
const orderPanels: PanelType[] = useMemo(() => {
return [
{
@@ -245,6 +272,28 @@ export default function SalesOrderDetail() {
];
}, [order, id]);
+ const soActions = useMemo(() => {
+ return [
+ }
+ actions={[
+ EditItemAction({
+ hidden: !user.hasChangeRole(UserRoles.sales_order),
+ onClick: () => {
+ editSalesOrder.open();
+ }
+ }),
+ DeleteItemAction({
+ hidden: !user.hasDeleteRole(UserRoles.sales_order)
+ // TODO: Delete?
+ })
+ ]}
+ />
+ ];
+ }, [user]);
+
const orderBadges: ReactNode[] = useMemo(() => {
return instanceQuery.isLoading
? []
@@ -259,6 +308,7 @@ export default function SalesOrderDetail() {
return (
<>
+ {editSalesOrder.modal}
diff --git a/src/frontend/src/pages/stock/StockDetail.tsx b/src/frontend/src/pages/stock/StockDetail.tsx
index 072b881823..7a48713bfe 100644
--- a/src/frontend/src/pages/stock/StockDetail.tsx
+++ b/src/frontend/src/pages/stock/StockDetail.tsx
@@ -23,7 +23,7 @@ import {
IconSitemap
} from '@tabler/icons-react';
import { ReactNode, useMemo, useState } from 'react';
-import { useParams } from 'react-router-dom';
+import { useNavigate, useParams } from 'react-router-dom';
import { DetailsField, DetailsTable } from '../../components/details/Details';
import DetailsBadge from '../../components/details/DetailsBadge';
@@ -33,6 +33,7 @@ import {
ActionDropdown,
BarcodeActionDropdown,
DeleteItemAction,
+ DuplicateItemAction,
EditItemAction,
LinkBarcodeAction,
UnlinkBarcodeAction,
@@ -50,12 +51,16 @@ import {
StockOperationProps,
useAddStockItem,
useCountStockItem,
- useEditStockItem,
useRemoveStockItem,
+ useStockFields,
useTransferStockItem
} from '../../forms/StockForms';
import { InvenTreeIcon } from '../../functions/icons';
import { getDetailUrl } from '../../functions/urls';
+import {
+ useCreateApiFormModal,
+ useEditApiFormModal
+} from '../../hooks/UseForm';
import { useInstance } from '../../hooks/UseInstance';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
@@ -69,6 +74,8 @@ export default function StockDetail() {
const user = useUserState();
+ const navigate = useNavigate();
+
const [treeOpen, setTreeOpen] = useState(false);
const {
@@ -349,9 +356,30 @@ export default function StockDetail() {
[stockitem]
);
- const editStockItem = useEditStockItem({
- item_id: stockitem.pk,
- callback: () => refreshInstance()
+ const editStockItemFields = useStockFields({ create: false });
+
+ const editStockItem = useEditApiFormModal({
+ url: ApiEndpoints.stock_item_list,
+ pk: stockitem.pk,
+ title: t`Edit Stock Item`,
+ fields: editStockItemFields,
+ onFormSuccess: refreshInstance
+ });
+
+ const duplicateStockItemFields = useStockFields({ create: true });
+
+ const duplicateStockItem = useCreateApiFormModal({
+ url: ApiEndpoints.stock_item_list,
+ title: t`Add Stock Item`,
+ fields: duplicateStockItemFields,
+ initialData: {
+ ...stockitem
+ },
+ onFormSuccess: (response: any) => {
+ if (response.pk) {
+ navigate(getDetailUrl(ModelType.stockitem, response.pk));
+ }
+ }
});
const stockActionProps: StockOperationProps = useMemo(() => {
@@ -368,15 +396,17 @@ export default function StockDetail() {
const transferStockItem = useTransferStockItem(stockActionProps);
const stockActions = useMemo(
- () => /* TODO: Disable actions based on user permissions*/ [
+ () => [
,
@@ -425,16 +455,20 @@ export default function StockDetail() {
/>,
}
actions={[
- {
- name: t`Duplicate`,
- tooltip: t`Duplicate stock item`,
- icon:
- },
- EditItemAction({}),
- DeleteItemAction({})
+ DuplicateItemAction({
+ hidden: !user.hasAddRole(UserRoles.stock),
+ onClick: () => duplicateStockItem.open()
+ }),
+ EditItemAction({
+ hidden: !user.hasChangeRole(UserRoles.stock),
+ onClick: () => editStockItem.open()
+ }),
+ DeleteItemAction({
+ hidden: !user.hasDeleteRole(UserRoles.stock)
+ })
]}
/>
],
@@ -489,6 +523,7 @@ export default function StockDetail() {
/>
{editStockItem.modal}
+ {duplicateStockItem.modal}
{countStockItem.modal}
{addStockItem.modal}
{removeStockItem.modal}
diff --git a/src/frontend/src/router.tsx b/src/frontend/src/router.tsx
index c376dab343..a80a0fdce1 100644
--- a/src/frontend/src/router.tsx
+++ b/src/frontend/src/router.tsx
@@ -103,6 +103,7 @@ export const AdminCenter = Loadable(
export const NotFound = Loadable(lazy(() => import('./pages/NotFound')));
export const Login = Loadable(lazy(() => import('./pages/Auth/Login')));
+export const Logout = Loadable(lazy(() => import('./pages/Auth/Logout')));
export const Logged_In = Loadable(lazy(() => import('./pages/Auth/Logged-In')));
export const Reset = Loadable(lazy(() => import('./pages/Auth/Reset')));
export const Set_Password = Loadable(
@@ -163,6 +164,7 @@ export const routes = (
}>
} />,
+ } />,
} />
} />
} />
diff --git a/src/frontend/src/states/SessionState.tsx b/src/frontend/src/states/SessionState.tsx
deleted file mode 100644
index 5ac12407d7..0000000000
--- a/src/frontend/src/states/SessionState.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import { create } from 'zustand';
-import { createJSONStorage, persist } from 'zustand/middleware';
-
-import { setApiDefaults } from '../App';
-import { fetchGlobalStates } from './states';
-
-interface SessionStateProps {
- token?: string;
- setToken: (newToken?: string) => void;
- clearToken: () => void;
- hasToken: () => boolean;
-}
-
-/*
- * State manager for user login information.
- */
-export const useSessionState = create()(
- persist(
- (set, get) => ({
- token: undefined,
- clearToken: () => {
- set({ token: undefined });
- },
- setToken: (newToken) => {
- set({ token: newToken });
-
- setApiDefaults();
- fetchGlobalStates();
- },
- hasToken: () => !!get().token
- }),
- {
- name: 'session-state',
- storage: createJSONStorage(() => sessionStorage)
- }
- )
-);
diff --git a/src/frontend/src/states/SettingsState.tsx b/src/frontend/src/states/SettingsState.tsx
index 61aec8ff08..85fdba8ab3 100644
--- a/src/frontend/src/states/SettingsState.tsx
+++ b/src/frontend/src/states/SettingsState.tsx
@@ -5,9 +5,9 @@ import { create, createStore } from 'zustand';
import { api } from '../App';
import { ApiEndpoints } from '../enums/ApiEndpoints';
+import { isLoggedIn } from '../functions/auth';
import { isTrue } from '../functions/conversion';
import { PathParams, apiUrl } from './ApiState';
-import { useSessionState } from './SessionState';
import { Setting, SettingsLookup } from './states';
export interface SettingsStateProps {
@@ -29,7 +29,7 @@ export const useGlobalSettingsState = create(
lookup: {},
endpoint: ApiEndpoints.settings_global_list,
fetchSettings: async () => {
- if (!useSessionState.getState().hasToken()) {
+ if (!isLoggedIn()) {
return;
}
@@ -63,7 +63,7 @@ export const useUserSettingsState = create((set, get) => ({
lookup: {},
endpoint: ApiEndpoints.settings_user_list,
fetchSettings: async () => {
- if (!useSessionState.getState().hasToken()) {
+ if (!isLoggedIn()) {
return;
}
diff --git a/src/frontend/src/states/StatusState.tsx b/src/frontend/src/states/StatusState.tsx
index 51b31f851d..57e845f33a 100644
--- a/src/frontend/src/states/StatusState.tsx
+++ b/src/frontend/src/states/StatusState.tsx
@@ -6,8 +6,8 @@ import { StatusCodeListInterface } from '../components/render/StatusRenderer';
import { statusCodeList } from '../defaults/backendMappings';
import { ApiEndpoints } from '../enums/ApiEndpoints';
import { ModelType } from '../enums/ModelType';
+import { isLoggedIn } from '../functions/auth';
import { apiUrl } from './ApiState';
-import { useSessionState } from './SessionState';
type StatusLookup = Record;
@@ -24,7 +24,7 @@ export const useGlobalStatusState = create()(
setStatus: (newStatus: StatusLookup) => set({ status: newStatus }),
fetchStatus: async () => {
// Fetch status data for rendering labels
- if (!useSessionState.getState().hasToken()) {
+ if (!isLoggedIn()) {
return;
}
diff --git a/src/frontend/src/states/UserState.tsx b/src/frontend/src/states/UserState.tsx
index 621a5a5c82..35d8a82979 100644
--- a/src/frontend/src/states/UserState.tsx
+++ b/src/frontend/src/states/UserState.tsx
@@ -3,8 +3,8 @@ import { create } from 'zustand';
import { api } from '../App';
import { ApiEndpoints } from '../enums/ApiEndpoints';
import { UserPermissions, UserRoles } from '../enums/Roles';
+import { isLoggedIn } from '../functions/auth';
import { apiUrl } from './ApiState';
-import { useSessionState } from './SessionState';
import { UserProps } from './states';
interface UserStateProps {
@@ -37,7 +37,7 @@ export const useUserState = create((set, get) => ({
},
setUser: (newUser: UserProps) => set({ user: newUser }),
fetchUserState: async () => {
- if (!useSessionState.getState().hasToken()) {
+ if (!isLoggedIn()) {
return;
}
@@ -56,7 +56,7 @@ export const useUserState = create((set, get) => ({
};
set({ user: user });
})
- .catch((_error) => {
+ .catch((error) => {
console.error('Error fetching user data');
});
diff --git a/src/frontend/src/states/states.tsx b/src/frontend/src/states/states.tsx
index fba98fc4c6..0ec0139a14 100644
--- a/src/frontend/src/states/states.tsx
+++ b/src/frontend/src/states/states.tsx
@@ -1,6 +1,6 @@
import { setApiDefaults } from '../App';
+import { isLoggedIn } from '../functions/auth';
import { useServerApiState } from './ApiState';
-import { useSessionState } from './SessionState';
import { useGlobalSettingsState, useUserSettingsState } from './SettingsState';
import { useGlobalStatusState } from './StatusState';
import { useUserState } from './UserState';
@@ -126,7 +126,7 @@ export type SettingsLookup = {
* Necessary on login, or if locale is changed.
*/
export function fetchGlobalStates() {
- if (!useSessionState.getState().hasToken()) {
+ if (!isLoggedIn()) {
return;
}
diff --git a/src/frontend/src/tables/ColumnRenderers.tsx b/src/frontend/src/tables/ColumnRenderers.tsx
index f1d39858cf..654ddd9409 100644
--- a/src/frontend/src/tables/ColumnRenderers.tsx
+++ b/src/frontend/src/tables/ColumnRenderers.tsx
@@ -3,6 +3,7 @@
*/
import { t } from '@lingui/macro';
import { Anchor } from '@mantine/core';
+import { access } from 'fs';
import { YesNoButton } from '../components/buttons/YesNoButton';
import { Thumbnail } from '../components/images/Thumbnail';
@@ -11,6 +12,7 @@ import { TableStatusRenderer } from '../components/render/StatusRenderer';
import { RenderOwner } from '../components/render/User';
import { formatCurrency, renderDate } from '../defaults/formatters';
import { ModelType } from '../enums/ModelType';
+import { resolveItem } from '../functions/conversion';
import { cancelEvent } from '../functions/events';
import { TableColumn } from './Column';
import { ProjectCodeHoverCard } from './TableHoverCard';
@@ -29,19 +31,24 @@ export function BooleanColumn({
accessor,
title,
sortable,
- switchable
+ switchable,
+ ordering
}: {
accessor: string;
title?: string;
+ ordering?: string;
sortable?: boolean;
switchable?: boolean;
}): TableColumn {
return {
accessor: accessor,
title: title,
+ ordering: ordering,
sortable: sortable ?? true,
switchable: switchable ?? true,
- render: (record: any) =>
+ render: (record: any) => (
+
+ )
};
}
@@ -71,7 +78,7 @@ export function LinkColumn({
accessor: accessor,
sortable: false,
render: (record: any) => {
- let url = record[accessor];
+ let url = resolveItem(record, accessor);
if (!url) {
return '-';
diff --git a/src/frontend/src/tables/InvenTreeTable.tsx b/src/frontend/src/tables/InvenTreeTable.tsx
index 93c17f67a8..fa1391bbb4 100644
--- a/src/frontend/src/tables/InvenTreeTable.tsx
+++ b/src/frontend/src/tables/InvenTreeTable.tsx
@@ -28,6 +28,7 @@ import { ActionButton } from '../components/buttons/ActionButton';
import { ButtonMenu } from '../components/buttons/ButtonMenu';
import { ApiFormFieldSet } from '../components/forms/fields/ApiFormField';
import { ModelType } from '../enums/ModelType';
+import { resolveItem } from '../functions/conversion';
import { extractAvailableFields, mapFields } from '../functions/forms';
import { getDetailUrl } from '../functions/urls';
import { TableState } from '../hooks/UseTable';
@@ -519,7 +520,8 @@ export function InvenTreeTable({
// If a custom row click handler is provided, use that
props.onRowClick(record, index, event);
} else if (tableProps.modelType) {
- const pk = record?.[tableProps.modelField ?? 'pk'];
+ const accessor = tableProps.modelField ?? 'pk';
+ const pk = resolveItem(record, accessor);
if (pk) {
// If a model type is provided, navigate to the detail view for that model
diff --git a/src/frontend/src/tables/build/BuildLineTable.tsx b/src/frontend/src/tables/build/BuildLineTable.tsx
index edd93949be..7ed7d4367c 100644
--- a/src/frontend/src/tables/build/BuildLineTable.tsx
+++ b/src/frontend/src/tables/build/BuildLineTable.tsx
@@ -6,13 +6,11 @@ import {
IconTool
} from '@tabler/icons-react';
import { useCallback, useMemo } from 'react';
-import { useNavigate } from 'react-router-dom';
import { PartHoverCard } from '../../components/images/Thumbnail';
import { ProgressBar } from '../../components/items/ProgressBar';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
-import { getDetailUrl } from '../../functions/urls';
import { useTable } from '../../hooks/UseTable';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
@@ -25,7 +23,6 @@ import { TableHoverCard } from '../TableHoverCard';
export default function BuildLineTable({ params = {} }: { params?: any }) {
const table = useTable('buildline');
const user = useUserState();
- const navigate = useNavigate();
const tableFilters: TableFilter[] = useMemo(() => {
return [
@@ -47,6 +44,11 @@ export default function BuildLineTable({ params = {} }: { params?: any }) {
name: 'optional',
label: t`Optional`,
description: t`Show optional lines`
+ },
+ {
+ name: 'tracked',
+ label: t`Tracked`,
+ description: t`Show tracked lines`
}
];
}, []);
@@ -122,18 +124,28 @@ export default function BuildLineTable({ params = {} }: { params?: any }) {
return [
{
accessor: 'bom_item',
+ ordering: 'part',
sortable: true,
switchable: false,
render: (record: any) =>
},
{
- accessor: 'bom_item_detail.reference'
+ accessor: 'bom_item_detail.reference',
+ ordering: 'reference',
+ sortable: true,
+ title: t`Reference`
},
BooleanColumn({
- accessor: 'bom_item_detail.consumable'
+ accessor: 'bom_item_detail.consumable',
+ ordering: 'consumable'
}),
BooleanColumn({
- accessor: 'bom_item_detail.optional'
+ accessor: 'bom_item_detail.optional',
+ ordering: 'optional'
+ }),
+ BooleanColumn({
+ accessor: 'part_detail.trackable',
+ ordering: 'trackable'
}),
{
accessor: 'bom_item_detail.quantity',
@@ -198,6 +210,11 @@ export default function BuildLineTable({ params = {} }: { params?: any }) {
return [];
}
+ // Tracked items must be allocated to a particular output
+ if (record?.part_detail?.trackable) {
+ return [];
+ }
+
return [
{
icon: ,
@@ -234,11 +251,8 @@ export default function BuildLineTable({ params = {} }: { params?: any }) {
},
tableFilters: tableFilters,
rowActions: rowActions,
- onRowClick: (row: any) => {
- if (row?.part_detail?.pk) {
- navigate(getDetailUrl(ModelType.part, row.part_detail.pk));
- }
- }
+ modelType: ModelType.part,
+ modelField: 'part_detail.pk'
}}
/>
);
diff --git a/src/frontend/src/tables/build/BuildOrderTable.tsx b/src/frontend/src/tables/build/BuildOrderTable.tsx
index 66a15af959..19f9438380 100644
--- a/src/frontend/src/tables/build/BuildOrderTable.tsx
+++ b/src/frontend/src/tables/build/BuildOrderTable.tsx
@@ -10,7 +10,7 @@ import { renderDate } from '../../defaults/formatters';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
-import { buildOrderFields } from '../../forms/BuildForms';
+import { useBuildOrderFields } from '../../forms/BuildForms';
import { getDetailUrl } from '../../functions/urls';
import { useCreateApiFormModal } from '../../hooks/UseForm';
import { useTable } from '../../hooks/UseTable';
@@ -135,10 +135,12 @@ export function BuildOrderTable({
const table = useTable('buildorder');
+ const buildOrderFields = useBuildOrderFields({ create: true });
+
const newBuild = useCreateApiFormModal({
url: ApiEndpoints.build_order_list,
title: t`Add Build Order`,
- fields: buildOrderFields(),
+ fields: buildOrderFields,
initialData: {
part: partId,
sales_order: salesOrderId,
diff --git a/src/frontend/src/tables/company/CompanyTable.tsx b/src/frontend/src/tables/company/CompanyTable.tsx
index 82cef9f7f5..9199a2248c 100644
--- a/src/frontend/src/tables/company/CompanyTable.tsx
+++ b/src/frontend/src/tables/company/CompanyTable.tsx
@@ -1,5 +1,6 @@
import { t } from '@lingui/macro';
import { Group, Text } from '@mantine/core';
+import { access } from 'fs';
import { useMemo } from 'react';
import { useNavigate } from 'react-router-dom';
@@ -13,7 +14,8 @@ import { useCreateApiFormModal } from '../../hooks/UseForm';
import { useTable } from '../../hooks/UseTable';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
-import { DescriptionColumn } from '../ColumnRenderers';
+import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers';
+import { TableFilter } from '../Filter';
import { InvenTreeTable } from '../InvenTreeTable';
/**
@@ -51,6 +53,12 @@ export function CompanyTable({
}
},
DescriptionColumn({}),
+ BooleanColumn({
+ accessor: 'active',
+ title: t`Active`,
+ sortable: true,
+ switchable: true
+ }),
{
accessor: 'website',
sortable: false
@@ -73,6 +81,31 @@ export function CompanyTable({
}
});
+ const tableFilters: TableFilter[] = useMemo(() => {
+ return [
+ {
+ name: 'active',
+ label: t`Active`,
+ description: t`Show active companies`
+ },
+ {
+ name: 'is_supplier',
+ label: t`Supplier`,
+ description: t`Show companies which are suppliers`
+ },
+ {
+ name: 'is_manufacturer',
+ label: t`Manufacturer`,
+ description: t`Show companies which are manufacturers`
+ },
+ {
+ name: 'is_customer',
+ label: t`Customer`,
+ description: t`Show companies which are customers`
+ }
+ ];
+ }, []);
+
const tableActions = useMemo(() => {
const can_add =
user.hasAddRole(UserRoles.purchase_order) ||
@@ -98,6 +131,7 @@ export function CompanyTable({
params: {
...params
},
+ tableFilters: tableFilters,
tableActions: tableActions,
onRowClick: (row: any) => {
if (row.pk) {
diff --git a/src/frontend/src/tables/company/ContactTable.tsx b/src/frontend/src/tables/company/ContactTable.tsx
index 6641131e39..83e4e6ebf8 100644
--- a/src/frontend/src/tables/company/ContactTable.tsx
+++ b/src/frontend/src/tables/company/ContactTable.tsx
@@ -63,9 +63,7 @@ export function ContactTable({
};
}, []);
- const [selectedContact, setSelectedContact] = useState(
- undefined
- );
+ const [selectedContact, setSelectedContact] = useState(0);
const editContact = useEditApiFormModal({
url: ApiEndpoints.contact_list,
diff --git a/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx b/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx
index ecac9aef13..9f85529353 100644
--- a/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx
+++ b/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx
@@ -44,9 +44,11 @@ import { TableHoverCard } from '../TableHoverCard';
*/
export function PurchaseOrderLineItemTable({
orderId,
+ supplierId,
params
}: {
orderId: number;
+ supplierId?: number;
params?: any;
}) {
const table = useTable('purchase-order-line-item');
@@ -67,7 +69,7 @@ export function PurchaseOrderLineItemTable({
return [
{
accessor: 'part',
- title: t`Part`,
+ title: t`Internal Part`,
sortable: true,
switchable: false,
render: (record: any) => {
@@ -183,25 +185,35 @@ export function PurchaseOrderLineItemTable({
];
}, [orderId, user]);
+ const addPurchaseOrderFields = usePurchaseOrderLineItemFields({
+ create: true,
+ orderId: orderId,
+ supplierId: supplierId
+ });
+
+ const [initialData, setInitialData] = useState({});
+
const newLine = useCreateApiFormModal({
url: ApiEndpoints.purchase_order_line_list,
title: t`Add Line Item`,
- fields: usePurchaseOrderLineItemFields({ create: true }),
- initialData: {
- order: orderId
- },
+ fields: addPurchaseOrderFields,
+ initialData: initialData,
onFormSuccess: table.refreshTable
});
- const [selectedLine, setSelectedLine] = useState(
- undefined
- );
+ const [selectedLine, setSelectedLine] = useState(0);
+
+ const editPurchaseOrderFields = usePurchaseOrderLineItemFields({
+ create: false,
+ orderId: orderId,
+ supplierId: supplierId
+ });
const editLine = useEditApiFormModal({
url: ApiEndpoints.purchase_order_line_list,
pk: selectedLine,
title: t`Edit Line Item`,
- fields: usePurchaseOrderLineItemFields({}),
+ fields: editPurchaseOrderFields,
onFormSuccess: table.refreshTable
});
@@ -235,7 +247,11 @@ export function PurchaseOrderLineItemTable({
}
}),
RowDuplicateAction({
- hidden: !user.hasAddRole(UserRoles.purchase_order)
+ hidden: !user.hasAddRole(UserRoles.purchase_order),
+ onClick: () => {
+ setInitialData({ ...record });
+ newLine.open();
+ }
}),
RowDeleteAction({
hidden: !user.hasDeleteRole(UserRoles.purchase_order),
@@ -254,7 +270,12 @@ export function PurchaseOrderLineItemTable({
return [
newLine.open()}
+ onClick={() => {
+ setInitialData({
+ order: orderId
+ });
+ newLine.open();
+ }}
hidden={!user?.hasAddRole(UserRoles.purchase_order)}
/>,
{
+ return formatCurrency(record.total_price, {
+ currency: record.order_currency ?? record.supplier_detail?.currency
+ });
+ }
+ },
ResponsibleColumn()
];
}, []);
+ const purchaseOrderFields = usePurchaseOrderFields();
+
const newPurchaseOrder = useCreateApiFormModal({
url: ApiEndpoints.purchase_order_list,
title: t`Add Purchase Order`,
- fields: purchaseOrderFields(),
+ fields: purchaseOrderFields,
initialData: {
supplier: supplierId
},
diff --git a/src/frontend/src/tables/purchasing/SupplierPartTable.tsx b/src/frontend/src/tables/purchasing/SupplierPartTable.tsx
index 9bc820c4a3..70de5f778c 100644
--- a/src/frontend/src/tables/purchasing/SupplierPartTable.tsx
+++ b/src/frontend/src/tables/purchasing/SupplierPartTable.tsx
@@ -1,6 +1,6 @@
import { t } from '@lingui/macro';
import { Text } from '@mantine/core';
-import { ReactNode, useCallback, useMemo } from 'react';
+import { ReactNode, useCallback, useMemo, useState } from 'react';
import { AddItemButton } from '../../components/buttons/AddItemButton';
import { Thumbnail } from '../../components/images/Thumbnail';
@@ -9,17 +9,23 @@ import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
import { useSupplierPartFields } from '../../forms/CompanyForms';
import { openDeleteApiForm, openEditApiForm } from '../../functions/forms';
-import { useCreateApiFormModal } from '../../hooks/UseForm';
+import {
+ useCreateApiFormModal,
+ useDeleteApiFormModal,
+ useEditApiFormModal
+} from '../../hooks/UseForm';
import { useTable } from '../../hooks/UseTable';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
import { TableColumn } from '../Column';
import {
+ BooleanColumn,
DescriptionColumn,
LinkColumn,
NoteColumn,
PartColumn
} from '../ColumnRenderers';
+import { TableFilter } from '../Filter';
import { InvenTreeTable } from '../InvenTreeTable';
import { RowDeleteAction, RowEditAction } from '../RowActions';
import { TableHoverCard } from '../TableHoverCard';
@@ -88,6 +94,12 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode {
title: t`MPN`,
render: (record: any) => record?.manufacturer_part_detail?.MPN
},
+ BooleanColumn({
+ accessor: 'active',
+ title: t`Active`,
+ sortable: true,
+ switchable: true
+ }),
{
accessor: 'in_stock',
sortable: true
@@ -145,35 +157,67 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode {
];
}, [params]);
- const addSupplierPartFields = useSupplierPartFields({
- partPk: params?.part,
- supplierPk: params?.supplier,
- hidePart: true
+ const supplierPartFields = useSupplierPartFields();
+
+ const addSupplierPart = useCreateApiFormModal({
+ url: ApiEndpoints.supplier_part_list,
+ title: t`Add Supplier Part`,
+ fields: supplierPartFields,
+ initialData: {
+ part: params?.part,
+ supplier: params?.supplier
+ },
+ onFormSuccess: table.refreshTable,
+ successMessage: t`Supplier part created`
});
- const { modal: addSupplierPartModal, open: openAddSupplierPartForm } =
- useCreateApiFormModal({
- url: ApiEndpoints.supplier_part_list,
- title: t`Add Supplier Part`,
- fields: addSupplierPartFields,
- onFormSuccess: table.refreshTable,
- successMessage: t`Supplier part created`
- });
- // Table actions
const tableActions = useMemo(() => {
- // TODO: Hide actions based on user permissions
-
return [
addSupplierPart.open()}
+ hidden={!user.hasAddRole(UserRoles.purchase_order)}
/>
];
}, [user]);
- const editSupplierPartFields = useSupplierPartFields({
- hidePart: true,
- partPk: params?.part
+ const tableFilters: TableFilter[] = useMemo(() => {
+ return [
+ {
+ name: 'active',
+ label: t`Active`,
+ description: t`Show active supplier parts`
+ },
+ {
+ name: 'part_active',
+ label: t`Active Part`,
+ description: t`Show active internal parts`
+ },
+ {
+ name: 'supplier_active',
+ label: t`Active Supplier`,
+ description: t`Show active suppliers`
+ }
+ ];
+ }, []);
+
+ const editSupplierPartFields = useSupplierPartFields();
+
+ const [selectedSupplierPart, setSelectedSupplierPart] = useState(0);
+
+ const editSupplierPart = useEditApiFormModal({
+ url: ApiEndpoints.supplier_part_list,
+ pk: selectedSupplierPart,
+ title: t`Edit Supplier Part`,
+ fields: editSupplierPartFields,
+ onFormSuccess: () => table.refreshTable()
+ });
+
+ const deleteSupplierPart = useDeleteApiFormModal({
+ url: ApiEndpoints.supplier_part_list,
+ pk: selectedSupplierPart,
+ title: t`Delete Supplier Part`,
+ onFormSuccess: () => table.refreshTable()
});
// Row action callback
@@ -183,29 +227,15 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode {
RowEditAction({
hidden: !user.hasChangeRole(UserRoles.purchase_order),
onClick: () => {
- record.pk &&
- openEditApiForm({
- url: ApiEndpoints.supplier_part_list,
- pk: record.pk,
- title: t`Edit Supplier Part`,
- fields: editSupplierPartFields,
- onFormSuccess: table.refreshTable,
- successMessage: t`Supplier part updated`
- });
+ setSelectedSupplierPart(record.pk);
+ editSupplierPart.open();
}
}),
RowDeleteAction({
hidden: !user.hasDeleteRole(UserRoles.purchase_order),
onClick: () => {
- record.pk &&
- openDeleteApiForm({
- url: ApiEndpoints.supplier_part_list,
- pk: record.pk,
- title: t`Delete Supplier Part`,
- successMessage: t`Supplier part deleted`,
- onFormSuccess: table.refreshTable,
- preFormWarning: t`Are you sure you want to remove this supplier part?`
- });
+ setSelectedSupplierPart(record.pk);
+ deleteSupplierPart.open();
}
})
];
@@ -215,7 +245,9 @@ export function SupplierPartTable({ params }: { params: any }): ReactNode {
return (
<>
- {addSupplierPartModal}
+ {addSupplierPart.modal}
+ {editSupplierPart.modal}
+ {deleteSupplierPart.modal}
diff --git a/src/frontend/src/tables/sales/ReturnOrderTable.tsx b/src/frontend/src/tables/sales/ReturnOrderTable.tsx
index 2c007848b5..c9c98564d5 100644
--- a/src/frontend/src/tables/sales/ReturnOrderTable.tsx
+++ b/src/frontend/src/tables/sales/ReturnOrderTable.tsx
@@ -1,12 +1,17 @@
import { t } from '@lingui/macro';
import { useCallback, useMemo } from 'react';
+import { useNavigate } from 'react-router-dom';
import { AddItemButton } from '../../components/buttons/AddItemButton';
import { Thumbnail } from '../../components/images/Thumbnail';
+import { formatCurrency } from '../../defaults/formatters';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
+import { useReturnOrderFields } from '../../forms/SalesOrderForms';
import { notYetImplemented } from '../../functions/notifications';
+import { getDetailUrl } from '../../functions/urls';
+import { useCreateApiFormModal } from '../../hooks/UseForm';
import { useTable } from '../../hooks/UseTable';
import { apiUrl } from '../../states/ApiState';
import { useUserState } from '../../states/UserState';
@@ -18,8 +23,7 @@ import {
ReferenceColumn,
ResponsibleColumn,
StatusColumn,
- TargetDateColumn,
- TotalPriceColumn
+ TargetDateColumn
} from '../ColumnRenderers';
import {
AssignedToMeFilter,
@@ -33,6 +37,7 @@ import { InvenTreeTable } from '../InvenTreeTable';
export function ReturnOrderTable({ params }: { params?: any }) {
const table = useTable('return-orders');
const user = useUserState();
+ const navigate = useNavigate();
const tableFilters: TableFilter[] = useMemo(() => {
return [
@@ -48,10 +53,6 @@ export function ReturnOrderTable({ params }: { params?: any }) {
];
}, []);
- // TODO: Row actions
-
- // TODO: Table actions (e.g. create new return order)
-
const tableColumns = useMemo(() => {
return [
ReferenceColumn(),
@@ -81,38 +82,61 @@ export function ReturnOrderTable({ params }: { params?: any }) {
CreationDateColumn(),
TargetDateColumn(),
ResponsibleColumn(),
- TotalPriceColumn()
+ {
+ accessor: 'total_price',
+ title: t`Total Price`,
+ sortable: true,
+ render: (record: any) => {
+ return formatCurrency(record.total_price, {
+ currency: record.order_currency ?? record.customer_detail?.currency
+ });
+ }
+ }
];
}, []);
- const addReturnOrder = useCallback(() => {
- notYetImplemented();
- }, []);
+ const returnOrderFields = useReturnOrderFields();
+
+ const newReturnOrder = useCreateApiFormModal({
+ url: ApiEndpoints.return_order_list,
+ title: t`Add Return Order`,
+ fields: returnOrderFields,
+ onFormSuccess: (response) => {
+ if (response.pk) {
+ navigate(getDetailUrl(ModelType.returnorder, response.pk));
+ } else {
+ table.refreshTable();
+ }
+ }
+ });
const tableActions = useMemo(() => {
return [
newReturnOrder.open()}
+ hidden={!user.hasAddRole(UserRoles.return_order)}
/>
];
}, [user]);
return (
-
+ <>
+ {newReturnOrder.modal}
+
+ >
);
}
diff --git a/src/frontend/src/tables/sales/SalesOrderTable.tsx b/src/frontend/src/tables/sales/SalesOrderTable.tsx
index de516eda0e..a2ede2f2b6 100644
--- a/src/frontend/src/tables/sales/SalesOrderTable.tsx
+++ b/src/frontend/src/tables/sales/SalesOrderTable.tsx
@@ -4,10 +4,11 @@ import { useNavigate } from 'react-router-dom';
import { AddItemButton } from '../../components/buttons/AddItemButton';
import { Thumbnail } from '../../components/images/Thumbnail';
+import { formatCurrency } from '../../defaults/formatters';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
-import { salesOrderFields } from '../../forms/SalesOrderForms';
+import { useSalesOrderFields } from '../../forms/SalesOrderForms';
import { getDetailUrl } from '../../functions/urls';
import { useCreateApiFormModal } from '../../hooks/UseForm';
import { useTable } from '../../hooks/UseTable';
@@ -21,8 +22,7 @@ import {
ReferenceColumn,
ShipmentDateColumn,
StatusColumn,
- TargetDateColumn,
- TotalPriceColumn
+ TargetDateColumn
} from '../ColumnRenderers';
import {
AssignedToMeFilter,
@@ -61,10 +61,12 @@ export function SalesOrderTable({
];
}, []);
+ const salesOrderFields = useSalesOrderFields();
+
const newSalesOrder = useCreateApiFormModal({
url: ApiEndpoints.sales_order_list,
title: t`Add Sales Order`,
- fields: salesOrderFields(),
+ fields: salesOrderFields,
initialData: {
customer: customerId
},
@@ -117,7 +119,16 @@ export function SalesOrderTable({
CreationDateColumn(),
TargetDateColumn(),
ShipmentDateColumn(),
- TotalPriceColumn()
+ {
+ accessor: 'total_price',
+ title: t`Total Price`,
+ sortable: true,
+ render: (record: any) => {
+ return formatCurrency(record.total_price, {
+ currency: record.order_currency ?? record.customer_detail?.currency
+ });
+ }
+ }
];
}, []);
diff --git a/src/frontend/src/tables/stock/StockItemTestResultTable.tsx b/src/frontend/src/tables/stock/StockItemTestResultTable.tsx
index 8014e1a33b..0870771472 100644
--- a/src/frontend/src/tables/stock/StockItemTestResultTable.tsx
+++ b/src/frontend/src/tables/stock/StockItemTestResultTable.tsx
@@ -279,9 +279,7 @@ export default function StockItemTestResultTable({
successMessage: t`Test result added`
});
- const [selectedTest, setSelectedTest] = useState(
- undefined
- );
+ const [selectedTest, setSelectedTest] = useState(0);
const editTestModal = useEditApiFormModal({
url: ApiEndpoints.stock_test_result_list,
diff --git a/src/frontend/src/views/DesktopAppView.tsx b/src/frontend/src/views/DesktopAppView.tsx
index a48445272d..1ee5f84f2e 100644
--- a/src/frontend/src/views/DesktopAppView.tsx
+++ b/src/frontend/src/views/DesktopAppView.tsx
@@ -5,10 +5,10 @@ import { BrowserRouter } from 'react-router-dom';
import { queryClient } from '../App';
import { BaseContext } from '../contexts/BaseContext';
import { defaultHostList } from '../defaults/defaultHostList';
+import { isLoggedIn } from '../functions/auth';
import { base_url } from '../main';
import { routes } from '../router';
import { useLocalState } from '../states/LocalState';
-import { useSessionState } from '../states/SessionState';
import {
useGlobalSettingsState,
useUserSettingsState
@@ -28,20 +28,19 @@ export default function DesktopAppView() {
// Server Session
const [fetchedServerSession, setFetchedServerSession] = useState(false);
- const sessionState = useSessionState.getState();
- const [token] = sessionState.token ? [sessionState.token] : [null];
+
useEffect(() => {
if (Object.keys(hostList).length === 0) {
useLocalState.setState({ hostList: defaultHostList });
}
- if (token && !fetchedServerSession) {
+ if (isLoggedIn() && !fetchedServerSession) {
setFetchedServerSession(true);
fetchUserState();
fetchGlobalSettings();
fetchUserSettings();
}
- }, [token, fetchedServerSession]);
+ }, [fetchedServerSession]);
return (
diff --git a/src/frontend/tests/cui.spec.ts b/src/frontend/tests/cui.spec.ts
index f33ee66b0e..66f705f25d 100644
--- a/src/frontend/tests/cui.spec.ts
+++ b/src/frontend/tests/cui.spec.ts
@@ -4,11 +4,10 @@ import { classicUrl, user } from './defaults';
test('CUI - Index', async ({ page }) => {
await page.goto(`${classicUrl}/api/`);
- await page.goto(`${classicUrl}/index/`);
- await expect(page).toHaveTitle('InvenTree Demo Server | Sign In');
- await expect(
- page.getByRole('heading', { name: 'InvenTree Demo Server' })
- ).toBeVisible();
+ await page.goto(`${classicUrl}/index/`, { timeout: 10000 });
+ console.log('Page title:', await page.title());
+ await expect(page).toHaveTitle(RegExp('^InvenTree.*Sign In$'));
+ await expect(page.getByRole('heading', { name: 'Sign In' })).toBeVisible();
await page.getByLabel('username').fill(user.username);
await page.getByLabel('password').fill(user.password);
diff --git a/src/frontend/tests/defaults.ts b/src/frontend/tests/defaults.ts
index 40a0b0a209..b3cb73e41d 100644
--- a/src/frontend/tests/defaults.ts
+++ b/src/frontend/tests/defaults.ts
@@ -1,6 +1,17 @@
export const classicUrl = 'http://127.0.0.1:8000';
+export const baseUrl = './platform';
+export const loginUrl = `${baseUrl}/login`;
+export const logoutUrl = `${baseUrl}/logout`;
+export const homeUrl = `${baseUrl}/home`;
+
export const user = {
+ name: 'Ally Access',
username: 'allaccess',
password: 'nolimits'
};
+
+export const adminuser = {
+ username: 'admin',
+ password: 'inventree'
+};
diff --git a/src/frontend/tests/login.ts b/src/frontend/tests/login.ts
new file mode 100644
index 0000000000..e1f82a1e11
--- /dev/null
+++ b/src/frontend/tests/login.ts
@@ -0,0 +1,39 @@
+import { expect } from './baseFixtures.js';
+import { baseUrl, loginUrl, logoutUrl, user } from './defaults';
+
+/*
+ * Perform form based login operation from the "login" URL
+ */
+export const doLogin = async (page, username?: string, password?: string) => {
+ username = username ?? user.username;
+ password = password ?? user.password;
+
+ await page.goto(logoutUrl);
+ await page.goto(loginUrl);
+ await expect(page).toHaveTitle(RegExp('^InvenTree.*$'));
+ await page.waitForURL('**/platform/login');
+ await page.getByLabel('username').fill(username);
+ await page.getByLabel('password').fill(password);
+ await page.getByRole('button', { name: 'Log in' }).click();
+ await page.waitForURL('**/platform/home');
+ await page.waitForTimeout(250);
+};
+
+/*
+ * Perform a quick login based on passing URL parameters
+ */
+export const doQuickLogin = async (
+ page,
+ username?: string,
+ password?: string,
+ url?: string
+) => {
+ username = username ?? user.username;
+ password = password ?? user.password;
+ url = url ?? baseUrl;
+
+ // await page.goto(logoutUrl);
+ await page.goto(`${url}/login/?login=${username}&password=${password}`);
+ await page.waitForURL('**/platform/home');
+ await page.waitForTimeout(250);
+};
diff --git a/src/frontend/tests/pages/pui_index.spec.ts b/src/frontend/tests/pages/pui_index.spec.ts
new file mode 100644
index 0000000000..287d81e6b8
--- /dev/null
+++ b/src/frontend/tests/pages/pui_index.spec.ts
@@ -0,0 +1,88 @@
+import { test } from '../baseFixtures.js';
+import { baseUrl } from '../defaults.js';
+import { doQuickLogin } from '../login.js';
+
+const newPartName = 'UITESTIN123';
+
+test('PUI - Pages - Index - Playground', async ({ page }) => {
+ await doQuickLogin(page);
+
+ await page.goto('./');
+ // Playground
+ await page.getByRole('tab', { name: 'Playground' }).click();
+ await page.getByRole('button', { name: 'API Forms' }).click();
+
+ // New Part
+ await page.getByRole('button', { name: 'Create New Part' }).click();
+ await page.locator('#react-select-3-input').fill('category 0');
+ await page
+ .getByRole('option', { name: 'Category 0' })
+ .locator('div')
+ .first()
+ .click();
+ await page.getByLabel('Name *').fill(newPartName);
+ await page.getByLabel('Initial Stock Quantity *').fill('1');
+ await page
+ .getByLabel('Create Part')
+ .getByRole('button', { name: 'Cancel' })
+ .click();
+
+ // Edit Part
+ await page.getByRole('button', { name: 'Edit Part' }).click();
+ await page.getByLabel('IPN').click();
+ await page.getByLabel('IPN').fill(newPartName);
+ await page
+ .getByLabel('Edit Part')
+ .getByRole('button', { name: 'Cancel' })
+ .click();
+
+ // Create Stock Item
+ await page.getByRole('button', { name: 'Create Stock Item' }).click();
+ await page.locator('#react-select-25-input').fill('R_1K_0402_1');
+ await page.getByText('R_1K_0402_1%').click();
+ await page
+ .getByLabel('Add Stock Item')
+ .getByRole('button', { name: 'Cancel' })
+ .click();
+
+ // EditCategory
+ await page.getByRole('button', { name: 'Edit Category' }).click();
+ await page.locator('.css-1xvbfjt-Input2').first().click();
+ await page.getByText('Category 0').click();
+ await page
+ .getByLabel('Edit Category')
+ .getByRole('button', { name: 'Cancel' })
+ .click();
+
+ // Create Attachment
+ await page.getByRole('button', { name: 'Create Attachment' }).click();
+ await page.getByLabel('Attachment *').waitFor();
+ await page.getByRole('button', { name: 'Cancel' }).click();
+ // TODO: actually create an attachment
+
+ // Create Part new Modal
+ await page.getByRole('button', { name: 'Create Part new Modal' }).click();
+ await page.locator('.css-1xvbfjt-Input2').first().click();
+ await page.getByText('Category 0').click();
+ await page
+ .getByLabel('Create part')
+ .getByRole('button', { name: 'Cancel' })
+ .click();
+
+ // Status Label
+ await page.getByRole('button', { name: 'Status labels' }).click();
+ await page.getByRole('textbox').dblclick();
+ await page.getByRole('textbox').fill('50');
+ await page.getByText('Attention needed').waitFor();
+});
+
+test('PUI - Pages - Index - Dashboard', async ({ page }) => {
+ await doQuickLogin(page);
+
+ // Dashboard auto update
+ await page.getByRole('tab', { name: 'Dashboard' }).click();
+ await page.getByText('Autoupdate').click();
+ await page.waitForTimeout(500);
+ await page.getByText('Autoupdate').click();
+ await page.getByText('This page is a replacement').waitFor();
+});
diff --git a/src/frontend/tests/pages/pui_part.spec.ts b/src/frontend/tests/pages/pui_part.spec.ts
new file mode 100644
index 0000000000..4d4aecf4b7
--- /dev/null
+++ b/src/frontend/tests/pages/pui_part.spec.ts
@@ -0,0 +1,154 @@
+import { test } from '@playwright/test';
+
+import { baseUrl } from '../defaults';
+import { doQuickLogin } from '../login';
+
+test('PUI - Pages - Part - Pricing (Nothing, BOM)', async ({ page }) => {
+ await doQuickLogin(page);
+
+ // Part with no history
+ await page.goto(`${baseUrl}/part/82/pricing`);
+ await page.getByText('1551ABK').waitFor();
+ await page.getByRole('tab', { name: 'Part Pricing' }).click();
+ await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
+ await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
+ await page.getByText('Last Updated').waitFor();
+ await page.getByRole('button', { name: 'Purchase History' }).isDisabled();
+ await page.getByRole('button', { name: 'Internal Pricing' }).isDisabled();
+ await page.getByRole('button', { name: 'Supplier Pricing' }).isDisabled();
+
+ // Part with history
+ await page.goto(`${baseUrl}/part/108/pricing`);
+ await page.getByText('Part: Blue Chair').waitFor();
+ await page.getByRole('tab', { name: 'Part Pricing' }).click();
+ await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
+ await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
+ await page.getByText('Last Updated').waitFor();
+ await page.getByRole('button', { name: 'Internal Pricing' }).isDisabled();
+ await page.getByRole('button', { name: 'Sale History' }).isDisabled();
+ await page.getByRole('button', { name: 'Sale Pricing' }).isDisabled();
+ await page.getByRole('button', { name: 'BOM Pricing' }).isEnabled();
+
+ // Overview Graph
+ let graph = page.locator('#pricing-overview-chart');
+ await graph.waitFor();
+ await graph.getByText('$60').waitFor();
+ await graph.getByText('BOM Pricing').waitFor();
+ await graph.getByText('Overall Pricing').waitFor();
+ await graph.locator('path').nth(1).hover();
+ await page.getByText('min_value : $50').waitFor();
+
+ // BOM Pricing
+ await page.getByRole('button', { name: 'BOM Pricing' }).click();
+ await page.getByText('Bar Chart').click();
+ await page.getByText('total_price_min').waitFor();
+ await page.getByText('Pie Chart').click();
+ await page.getByRole('button', { name: 'Quantity Not sorted' }).waitFor();
+ await page.getByRole('button', { name: 'Unit Price Not sorted' }).waitFor();
+
+ // BOM Pricing - linkjumping
+ await page.getByText('Wood Screw').waitFor();
+ await page.getByText('Wood Screw').click();
+ await page.waitForURL('**/part/98/pricing');
+});
+
+test('PUI - Pages - Part - Pricing (Supplier)', async ({ page }) => {
+ await doQuickLogin(page);
+
+ // Part
+ await page.goto(`${baseUrl}/part/55/pricing`);
+ await page.getByText('Part: C_100nF_0603').waitFor();
+ await page.getByRole('tab', { name: 'Part Pricing' }).click();
+ await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
+ await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
+ await page.getByText('Last Updated').waitFor();
+ await page.getByRole('button', { name: 'Purchase History' }).isEnabled();
+ await page.getByRole('button', { name: 'Internal Pricing' }).isDisabled();
+ await page.getByRole('button', { name: 'Supplier Pricing' }).isEnabled();
+
+ // Supplier Pricing
+ await page.getByRole('button', { name: 'Supplier Pricing' }).click();
+ await page.waitForTimeout(500);
+ await page.getByRole('button', { name: 'SKU Not sorted' }).waitFor();
+
+ // Supplier Pricing - linkjumping
+ let target = page.getByText('ARR-26041-LPC').first();
+ await target.waitFor();
+ await target.click();
+ // await page.waitForURL('**/purchasing/supplier-part/697/');
+});
+
+test('PUI - Pages - Part - Pricing (Variant)', async ({ page }) => {
+ await doQuickLogin(page);
+
+ // Part
+ await page.goto(`${baseUrl}/part/106/pricing`);
+ await page.getByText('Part: Chair').waitFor();
+ await page.getByRole('tab', { name: 'Part Pricing' }).click();
+ await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
+ await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
+ await page.getByText('Last Updated').waitFor();
+ await page.getByRole('button', { name: 'Internal Pricing' }).isDisabled();
+ await page.getByRole('button', { name: 'BOM Pricing' }).isEnabled();
+ await page.getByRole('button', { name: 'Variant Pricing' }).isEnabled();
+ await page.getByRole('button', { name: 'Sale Pricing' }).isDisabled();
+ await page.getByRole('button', { name: 'Sale History' }).isDisabled();
+
+ // Variant Pricing
+ await page.getByRole('button', { name: 'Variant Pricing' }).click();
+ await page.waitForTimeout(500);
+ await page.getByRole('button', { name: 'Variant Part Not sorted' }).click();
+
+ // Variant Pricing - linkjumping
+ let target = page.getByText('Green Chair').first();
+ await target.waitFor();
+ await target.click();
+ await page.waitForURL('**/part/109/pricing');
+});
+
+test('PUI - Pages - Part - Pricing (Internal)', async ({ page }) => {
+ await doQuickLogin(page);
+
+ // Part
+ await page.goto(`${baseUrl}/part/65/pricing`);
+ await page.getByText('Part: M2x4 SHCS').waitFor();
+ await page.getByRole('tab', { name: 'Part Pricing' }).click();
+ await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
+ await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
+ await page.getByText('Last Updated').waitFor();
+ await page.getByRole('button', { name: 'Purchase History' }).isDisabled();
+ await page.getByRole('button', { name: 'Internal Pricing' }).isEnabled();
+ await page.getByRole('button', { name: 'Supplier Pricing' }).isDisabled();
+
+ // Internal Pricing
+ await page.getByRole('button', { name: 'Internal Pricing' }).click();
+ await page.getByRole('button', { name: 'Price Break Not sorted' }).waitFor();
+
+ // Internal Pricing - editing
+ await page.getByRole('row', { name: '1 NZ$' }).getByRole('button').click();
+ await page.getByRole('menuitem', { name: 'Edit' }).click();
+ await page.getByText('Part *M2x4 SHCSSocket head').click();
+ await page.getByText('Part *M2x4 SHCSSocket head').click();
+});
+
+test('PUI - Pages - Part - Pricing (Purchase)', async ({ page }) => {
+ await doQuickLogin(page);
+
+ // Part
+ await page.goto(`${baseUrl}/part/69/pricing`);
+ await page.getByText('Part: 530470210').waitFor();
+ await page.getByRole('tab', { name: 'Part Pricing' }).click();
+ await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
+ await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
+ await page.getByText('Last Updated').waitFor();
+ await page.getByRole('button', { name: 'Purchase History' }).isEnabled();
+ await page.getByRole('button', { name: 'Internal Pricing' }).isDisabled();
+ await page.getByRole('button', { name: 'Supplier Pricing' }).isDisabled();
+
+ // Purchase History
+ await page.getByRole('button', { name: 'Purchase History' }).click();
+ await page
+ .getByRole('button', { name: 'Purchase Order Not sorted' })
+ .waitFor();
+ await page.getByText('2022-04-29').waitFor();
+});
diff --git a/src/frontend/tests/pui_basic.spec.ts b/src/frontend/tests/pui_basic.spec.ts
index 9d2eb43cd1..eadb2187b4 100644
--- a/src/frontend/tests/pui_basic.spec.ts
+++ b/src/frontend/tests/pui_basic.spec.ts
@@ -1,28 +1,37 @@
import { expect, test } from './baseFixtures.js';
-import { classicUrl, user } from './defaults.js';
+import { baseUrl, loginUrl, logoutUrl, user } from './defaults.js';
+import { doLogin, doQuickLogin } from './login.js';
-test('PUI - Basic test via django', async ({ page }) => {
- await page.goto(`${classicUrl}/platform/`);
- await expect(page).toHaveTitle('InvenTree Demo Server');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform/*');
- await page.goto(`${classicUrl}/platform/`);
+test('PUI - Basic Login Test', async ({ page }) => {
+ await doLogin(page);
- await expect(page).toHaveTitle('InvenTree Demo Server');
-});
+ // Check that the username is provided
+ await page.getByText(user.username);
-test('PUI - Basic test', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
+ await expect(page).toHaveTitle(RegExp('^InvenTree'));
+
+ // Go to the dashboard
+ await page.goto(baseUrl);
await page.waitForURL('**/platform');
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
+ await page
+ .getByRole('heading', { name: `Welcome to your Dashboard, ${user.name}` })
+ .click();
+});
+
+test('PUI - Quick Login Test', async ({ page }) => {
+ await doQuickLogin(page);
+
+ // Check that the username is provided
+ await page.getByText(user.username);
+
+ await expect(page).toHaveTitle(RegExp('^InvenTree'));
+
+ // Go to the dashboard
+ await page.goto(baseUrl);
+ await page.waitForURL('**/platform');
+
+ await page
+ .getByRole('heading', { name: `Welcome to your Dashboard, ${user.name}` })
+ .click();
});
diff --git a/src/frontend/tests/pui_command.spec.ts b/src/frontend/tests/pui_command.spec.ts
index a50aa96cc5..f722d04bba 100644
--- a/src/frontend/tests/pui_command.spec.ts
+++ b/src/frontend/tests/pui_command.spec.ts
@@ -1,29 +1,14 @@
-import { expect, systemKey, test } from './baseFixtures.js';
-import { user } from './defaults.js';
+import { systemKey, test } from './baseFixtures.js';
+import { baseUrl } from './defaults.js';
+import { doQuickLogin } from './login.js';
test('PUI - Quick Command', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
- await page.goto('./platform/');
-
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page
- .getByRole('heading', { name: 'Welcome to your Dashboard,' })
- .click();
- await page.waitForTimeout(500);
+ await doQuickLogin(page);
// Open Spotlight with Keyboard Shortcut
await page.locator('body').press(`${systemKey}+k`);
await page.waitForTimeout(200);
- await page
- .getByRole('button', { name: 'Dashboard Go to the InvenTree dashboard' })
- .click();
+ await page.getByRole('tab', { name: 'Dashboard' }).click();
await page
.locator('div')
.filter({ hasText: /^Dashboard$/ })
@@ -47,19 +32,8 @@ test('PUI - Quick Command', async ({ page }) => {
await page.waitForURL('**/platform/dashboard');
});
-test('PUI - Quick Command - no keys', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
-
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform');
- // wait for the page to load - 0.5s
- await page.waitForTimeout(500);
+test('PUI - Quick Command - No Keys', async ({ page }) => {
+ await doQuickLogin(page);
// Open Spotlight with Button
await page.getByRole('button', { name: 'Open spotlight' }).click();
@@ -125,7 +99,7 @@ test('PUI - Quick Command - no keys', async ({ page }) => {
await page.waitForURL('https://docs.inventree.org/**');
// Test addition of new actions
- await page.goto('./platform/playground');
+ await page.goto(`${baseUrl}/playground`);
await page
.locator('div')
.filter({ hasText: /^Playground$/ })
diff --git a/src/frontend/tests/pui_general.spec.ts b/src/frontend/tests/pui_general.spec.ts
index 75d9345690..3dead1ce79 100644
--- a/src/frontend/tests/pui_general.spec.ts
+++ b/src/frontend/tests/pui_general.spec.ts
@@ -1,20 +1,15 @@
import { expect, test } from './baseFixtures.js';
-import { user } from './defaults.js';
+import { baseUrl } from './defaults.js';
+import { doQuickLogin } from './login.js';
test('PUI - Parts', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
- await page.goto('./platform/home');
+ await doQuickLogin(page);
+ await page.goto(`${baseUrl}/home`);
await page.getByRole('tab', { name: 'Parts' }).click();
- await page.goto('./platform/part/');
+
await page.waitForURL('**/platform/part/category/index/details');
- await page.goto('./platform/part/category/index/parts');
+ await page.goto(`${baseUrl}/part/category/index/parts`);
await page.getByText('1551ABK').click();
await page.getByRole('tab', { name: 'Allocations' }).click();
await page.getByRole('tab', { name: 'Used In' }).click();
@@ -39,15 +34,10 @@ test('PUI - Parts', async ({ page }) => {
});
test('PUI - Parts - Manufacturer Parts', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
+ await doQuickLogin(page);
+
+ await page.goto(`${baseUrl}/part/84/manufacturers`);
- await page.goto('./platform/part/84/manufacturers');
await page.getByRole('tab', { name: 'Manufacturers' }).click();
await page.getByText('Hammond Manufacturing').click();
await page.getByRole('tab', { name: 'Parameters' }).click();
@@ -57,15 +47,10 @@ test('PUI - Parts - Manufacturer Parts', async ({ page }) => {
});
test('PUI - Parts - Supplier Parts', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
+ await doQuickLogin(page);
+
+ await page.goto(`${baseUrl}/part/15/suppliers`);
- await page.goto('./platform/part/15/suppliers');
await page.getByRole('tab', { name: 'Suppliers' }).click();
await page.getByRole('cell', { name: 'DIG-84670-SJI' }).click();
await page.getByRole('tab', { name: 'Received Stock' }).click(); //
@@ -75,15 +60,10 @@ test('PUI - Parts - Supplier Parts', async ({ page }) => {
});
test('PUI - Sales', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
+ await doQuickLogin(page);
+
+ await page.goto(`${baseUrl}/sales/`);
- await page.goto('./platform/sales/');
await page.waitForURL('**/platform/sales/**');
await page.waitForURL('**/platform/sales/index/salesorders');
await page.getByRole('tab', { name: 'Return Orders' }).click();
@@ -131,13 +111,7 @@ test('PUI - Sales', async ({ page }) => {
});
test('PUI - Scanning', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
+ await doQuickLogin(page);
await page.getByLabel('Homenav').click();
await page.getByRole('button', { name: 'System Information' }).click();
@@ -158,13 +132,8 @@ test('PUI - Scanning', async ({ page }) => {
});
test('PUI - Admin', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/*');
- await page.getByLabel('username').fill('admin');
- await page.getByLabel('password').fill('inventree');
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
+ // Note here we login with admin access
+ await doQuickLogin(page, 'admin', 'inventree');
// User settings
await page.getByRole('button', { name: 'admin' }).click();
@@ -213,13 +182,7 @@ test('PUI - Admin', async ({ page }) => {
});
test('PUI - Language / Color', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/*');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
+ await doQuickLogin(page);
await page.getByRole('button', { name: 'Ally Access' }).click();
await page.getByRole('menuitem', { name: 'Logout' }).click();
@@ -253,15 +216,9 @@ test('PUI - Language / Color', async ({ page }) => {
});
test('PUI - Company', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
+ await doQuickLogin(page);
- await page.goto('./platform/company/1/details');
+ await page.goto(`${baseUrl}/company/1/details`);
await page
.locator('div')
.filter({ hasText: /^DigiKey Electronics$/ })
diff --git a/src/frontend/tests/pui_stock.spec.ts b/src/frontend/tests/pui_stock.spec.ts
index b4f7e9ec14..3b00340af8 100644
--- a/src/frontend/tests/pui_stock.spec.ts
+++ b/src/frontend/tests/pui_stock.spec.ts
@@ -1,16 +1,11 @@
import { expect, test } from './baseFixtures.js';
-import { user } from './defaults.js';
+import { baseUrl, user } from './defaults.js';
+import { doQuickLogin } from './login.js';
test('PUI - Stock', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
+ await doQuickLogin(page);
- await page.goto('./platform/stock');
+ await page.goto(`${baseUrl}/stock`);
await page.waitForURL('**/platform/stock/location/index/details');
await page.getByRole('tab', { name: 'Stock Items' }).click();
await page.getByRole('cell', { name: '1551ABK' }).click();
@@ -24,13 +19,7 @@ test('PUI - Stock', async ({ page }) => {
});
test('PUI - Build', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
+ await doQuickLogin(page);
await page.getByRole('tab', { name: 'Build' }).click();
await page.getByText('Widget Assembly Variant').click();
@@ -44,13 +33,7 @@ test('PUI - Build', async ({ page }) => {
});
test('PUI - Purchasing', async ({ page }) => {
- await page.goto('./platform/');
- await expect(page).toHaveTitle('InvenTree');
- await page.waitForURL('**/platform/');
- await page.getByLabel('username').fill(user.username);
- await page.getByLabel('password').fill(user.password);
- await page.getByRole('button', { name: 'Log in' }).click();
- await page.waitForURL('**/platform');
+ await doQuickLogin(page);
await page.getByRole('tab', { name: 'Purchasing' }).click();
await page.getByRole('cell', { name: 'PO0012' }).click();
@@ -84,6 +67,11 @@ test('PUI - Purchasing', async ({ page }) => {
.click();
await page.getByRole('menuitem', { name: 'Edit' }).click();
await page.getByLabel('Address title *').waitFor();
+
+ // Read the current value of the cell, to ensure we always *change* it!
+ const value = await page.getByLabel('Line 2').inputValue();
+ await page.getByLabel('Line 2').fill(value == 'old' ? 'new' : 'old');
+
await page.getByRole('button', { name: 'Submit' }).isEnabled();
await page.getByRole('button', { name: 'Submit' }).click();
await page.getByRole('tab', { name: 'Details' }).waitFor();
diff --git a/tasks.py b/tasks.py
index c36b2750f5..52b9c87a2b 100644
--- a/tasks.py
+++ b/tasks.py
@@ -237,12 +237,12 @@ def install(c, uv=False):
c.run('pip3 install --upgrade pip')
c.run('pip3 install --upgrade setuptools')
c.run(
- 'pip3 install --no-cache-dir --disable-pip-version-check -U -r src/backend/requirements.txt'
+ 'pip3 install --no-cache-dir --disable-pip-version-check -U --require-hashes -r src/backend/requirements.txt'
)
else:
c.run('pip3 install --upgrade uv')
c.run('uv pip install --upgrade setuptools')
- c.run('uv pip install -U -r src/backend/requirements.txt')
+ c.run('uv pip install -U --require-hashes -r src/backend/requirements.txt')
# Run plugins install
plugins(c, uv=uv)
@@ -260,7 +260,7 @@ def setup_dev(c, tests=False):
print("Installing required python packages from 'src/backend/requirements-dev.txt'")
# Install required Python packages with PIP
- c.run('pip3 install -U -r src/backend/requirements-dev.txt')
+ c.run('pip3 install -U --require-hashes -r src/backend/requirements-dev.txt')
# Install pre-commit hook
print('Installing pre-commit for checks before git commits...')
@@ -360,22 +360,73 @@ def translate(c, ignore_static=False, no_frontend=False):
static(c)
-@task
-def backup(c):
+@task(
+ help={
+ 'clean': 'Clean up old backup files',
+ 'path': 'Specify path for generated backup files (leave blank for default path)',
+ }
+)
+def backup(c, clean=False, path=None):
"""Backup the database and media files."""
print('Backing up InvenTree database...')
- manage(c, 'dbbackup --noinput --clean --compress')
+
+ cmd = '--noinput --compress -v 2'
+
+ if path:
+ cmd += f' -O {path}'
+
+ if clean:
+ cmd += ' --clean'
+
+ manage(c, f'dbbackup {cmd}')
print('Backing up InvenTree media files...')
- manage(c, 'mediabackup --noinput --clean --compress')
+ manage(c, f'mediabackup {cmd}')
-@task
-def restore(c):
+@task(
+ help={
+ 'path': 'Specify path to locate backup files (leave blank for default path)',
+ 'db_file': 'Specify filename of compressed database archive (leave blank to use most recent backup)',
+ 'media_file': 'Specify filename of compressed media archive (leave blank to use most recent backup)',
+ 'ignore_media': 'Do not import media archive (database restore only)',
+ 'ignore_database': 'Do not import database archive (media restore only)',
+ }
+)
+def restore(
+ c,
+ path=None,
+ db_file=None,
+ media_file=None,
+ ignore_media=False,
+ ignore_database=False,
+):
"""Restore the database and media files."""
- print('Restoring InvenTree database...')
- manage(c, 'dbrestore --noinput --uncompress')
- print('Restoring InvenTree media files...')
- manage(c, 'mediarestore --noinput --uncompress')
+ base_cmd = '--no-input --uncompress -v 2'
+
+ if path:
+ base_cmd += f' -I {path}'
+
+ if ignore_database:
+ print('Skipping database archive...')
+ else:
+ print('Restoring InvenTree database')
+ cmd = f'dbrestore {base_cmd}'
+
+ if db_file:
+ cmd += f' -i {db_file}'
+
+ manage(c, cmd)
+
+ if ignore_media:
+ print('Skipping media restore...')
+ else:
+ print('Restoring InvenTree media files')
+ cmd = f'mediarestore {base_cmd}'
+
+ if media_file:
+ cmd += f' -i {media_file}'
+
+ manage(c, cmd)
@task(post=[rebuild_models, rebuild_thumbnails])