Commit Graph
100 Commits
Author SHA1 Message Date
Oliver 09853fd3df remove code which is now unused 2022-02-15 13:27:30 +11:00
Oliver 07af0902a3 Optionally auto-allocate stock items when creating a new build output 2022-02-15 13:27:14 +11:00
Oliver 24c13b04b6 Extract serial numbers from submitted form data 2022-02-15 13:19:41 +11:00
Oliver 037232c177 Adds query function to Part model to return trackable parts in the BOM 2022-02-15 13:19:14 +11:00
Oliver f90a27d01d Adds a new API endpoint for creating build outputs 2022-02-15 12:51:48 +11:00
OliverandGitHub dc4c1f138b Merge pull request #2629 from SchrodingersGat/index-unit-tests
Adds unit tests for index page
2022-02-15 11:45:08 +11:00
Oliver c048f3fb4a Adds unit tests for index page
Some fairly simple unit tests to ensure that the index page is being correctly loaded.
2022-02-15 10:50:30 +11:00
OliverandGitHub 6dfe22790e Merge pull request #2626 from SchrodingersGat/quantity-fix
Fix for BOM import
2022-02-15 09:37:06 +11:00
Oliver adfa289e9b Enforce proper formatting for 'quantity' field when importing BOM data 2022-02-15 09:11:14 +11:00
OliverandGitHub 1cc8fd28c0 Merge pull request #2623 from SchrodingersGat/bom-re-upload
Allow BOM file to be "re-uploaded"
2022-02-13 21:58:44 +11:00
Oliver e3fc1ab138 Allow BOM file to be "re-uploaded" 2022-02-13 20:49:42 +11:00
OliverandGitHub 0aeaf61254 Merge pull request #2564 from matmair/template-reduce-duplication
Template reduce duplication
2022-02-13 20:37:02 +11:00
OliverandGitHub b6cf5ee09e Merge pull request #2621 from matmair/fix-html-tags
Fix html tags
2022-02-13 20:34:19 +11:00
OliverandGitHub 8b34ea3066 Merge pull request #2609 from eeintech/child_model_permissions
Child model permissions
2022-02-10 18:08:38 +11:00
OliverandGitHub 7b4b07bac3 Merge pull request #2616 from SchrodingersGat/django-version
Update base django version
2022-02-10 13:47:28 +11:00
Oliver 9ad0b66ebc Update base django version 2022-02-10 13:13:51 +11:00
OliverandGitHub 6c083622e5 Merge pull request #2615 from SchrodingersGat/delete-multiple-outputs
Delete multiple outputs
2022-02-10 07:47:00 +11:00
Oliver 6b52a07e71 js linting 2022-02-10 00:53:38 +11:00
Oliver 71f9399760 Cleanup 2022-02-10 00:50:21 +11:00
Oliver 0d7b94fbfa Remove old form code which is no longer used 2022-02-10 00:48:06 +11:00
Oliver 96af074365 Adds API endpoint to delete build outputs 2022-02-10 00:46:38 +11:00
OliverandGitHub ed9b54d021 Merge pull request #2613 from SchrodingersGat/bom-import-unit-tests
Bom import unit tests
2022-02-10 00:40:47 +11:00
Oliver f460b14014 Add more unit testing for BOM file upload
- Test "levels" functionality
- Test part guessing / introspection
2022-02-10 00:13:37 +11:00
Oliver ffb319e136 Disable "submit" button to prevent multiple simultaneous uploads 2022-02-10 00:00:23 +11:00
Oliver d38a8adf4c Add button to display original row data 2022-02-09 23:49:26 +11:00
Oliver 383835aa89 Display initial errors when importing data 2022-02-09 23:26:32 +11:00
Oliver aa962aac83 Improve part "guess" algorithm 2022-02-09 23:26:13 +11:00
Oliver c0e940a898 Catch potential error when posting invalid numbers via REST API 2022-02-09 23:26:00 +11:00
Oliver 001437e083 Increased error checking when uploading BOM data 2022-02-09 23:02:09 +11:00
Oliver 2af617e92b Adds check for duplicate parts when importing 2022-02-09 11:34:25 +11:00
Oliver 67a9c0aeec PEP fixes 2022-02-09 11:31:36 +11:00
Oliver a9e1357ffb Return per-row error messages when extracting data 2022-02-09 11:30:58 +11:00
Oliver 29c3064ae7 Raise error if imported dataset contains no data rows 2022-02-09 11:27:51 +11:00
Oliver 692039f712 Add unit testing for uploading invalid BOM files 2022-02-09 08:38:28 +11:00
Oliver 8fc2695873 Catch potential file processing errors 2022-02-09 08:31:08 +11:00
OliverandGitHub 18ac1ceebe Update README.md
Reorder sections
2022-02-09 07:56:31 +11:00
Oliver 5376c5b022 Allow POST of files for unit testing 2022-02-08 23:54:48 +11:00
OliverandGitHub 1f473e42d0 Update README.md
Add "follow on twitter" button
2022-02-08 12:07:44 +11:00
OliverandGitHub 23e6caf1d9 Merge pull request #2610 from SchrodingersGat/po-button-fix
Fix logic for enabling "place order" button
2022-02-08 09:27:10 +11:00
Oliver dbf1e1b463 Fix logic for enabling "place order" button 2022-02-08 08:59:42 +11:00
OliverandGitHub ba1c7caa2a Merge pull request #2605 from SchrodingersGat/po-refresh
Do not hide the "submit order" button
2022-02-07 15:02:52 +11:00
OliverandGitHub c94c0902b6 Merge pull request #2603 from SchrodingersGat/bom-upload-improvements
Bom upload improvements
2022-02-07 14:46:25 +11:00
Oliver 55ff026696 Remove incorrect validation routine 2022-02-07 14:24:40 +11:00
Oliver 64b1523013 Do not hide the "submit order" button 2022-02-07 13:55:25 +11:00
OliverandGitHub c906cc5cfa Merge pull request #2604 from SchrodingersGat/currency-timeout
Handle errors when connecting to currency exchange
2022-02-07 13:54:25 +11:00
Oliver 11f541303b unit test fixes 2022-02-07 13:32:35 +11:00
Oliver 11c187f81d PEP fixes 2022-02-07 13:14:51 +11:00
Oliver a5a2fcd84a Only update rates on server launch if there are no rates available 2022-02-07 13:13:45 +11:00
Oliver 7265360648 JS linting 2022-02-07 13:07:03 +11:00
Oliver 4f638be874 Handle errors when connecting to currency exchange
- Also adds timeout when connecting
2022-02-07 13:04:42 +11:00
Oliver c6dc196053 PEP fixes 2022-02-07 12:32:50 +11:00
Oliver 509d58979e Remove old templates 2022-02-07 12:29:15 +11:00
Oliver 11d5900b69 Update upload file template 2022-02-07 12:25:09 +11:00
Oliver 131663cecc Adds options to clear existing BOM data when uploading 2022-02-07 12:20:18 +11:00
Oliver 4f26df3124 bug fix 2022-02-07 11:35:51 +11:00
Oliver 2ade14c47b Check for duplicate BOM items as part of serializer validation 2022-02-07 11:35:07 +11:00
Oliver a2c48d308f Adds a BomUpload endpoint to handle upload of complete BOM 2022-02-07 10:54:37 +11:00
Oliver 80818c464a Allow decimal values for BOM overage 2022-02-07 09:24:23 +11:00
Oliver 0963602bea Add optional part lookup by "part" field 2022-02-07 08:37:39 +11:00
Oliver 81271bf6b9 Add "clear input" callback function 2022-02-05 10:01:07 +11:00
Oliver bdf0b5b446 Construct required form fields
- required some additional functionality in forms.js
2022-02-05 09:53:35 +11:00
Oliver c620107625 Add callback for "remove row" button 2022-02-05 09:11:01 +11:00
Oliver 8a86932c7b Initialize related field for "part" selection 2022-02-05 01:36:46 +11:00
Oliver 8a8d718534 Basic javascript function to construct BOM table from extracted data 2022-02-05 01:26:34 +11:00
Oliver 3bd39ec752 Attempt to auto-extract part information based on provided data 2022-02-05 01:26:08 +11:00
Oliver 137c9ff2f2 POST request now returns extracted data rows (as an array of dicts) 2022-02-05 00:30:00 +11:00
Oliver 707787d82c Fix existing bug with BomExport functionality - could not select BOM format 2022-02-05 00:12:40 +11:00
Oliver 611592694b Adds serializer for uploading a BOM file and extracting fields 2022-02-05 00:12:11 +11:00
OliverandGitHub 448cd18468 Merge pull request #2586 from nwns/feature/maintdefaultstorage
Switch Maint Mode to use default storage backend
2022-02-04 07:31:59 +11:00
OliverandGitHub 647b2be5cf Merge pull request #2599 from SchrodingersGat/hide-part-pricing-history
Hide part pricing history
2022-02-03 16:57:23 +11:00
Oliver c12191d3ed Disable multi-level BOM requests 2022-02-03 16:33:10 +11:00
Oliver 722e947745 Only calculate pricing data if required 2022-02-03 16:30:48 +11:00
OliverandGitHub 0c1971bfbb Merge pull request #2598 from SchrodingersGat/loaddata-skip-steps
Skips some specific steps when importing data
2022-02-03 16:29:02 +11:00
Oliver 525b6d399d Hide pricing history tab if not enabled 2022-02-03 16:23:52 +11:00
Oliver 8c52924020 Adds new setting to optionally display or hide part pricing information 2022-02-03 16:16:42 +11:00
OliverandGitHub 328e9639f7 Merge pull request #2597 from SchrodingersGat/binary-settings
Binary settings
2022-02-03 16:07:13 +11:00
Oliver aeb8967473 PEP fixes 2022-02-03 16:06:00 +11:00
Oliver 78b1c7a22b Skips some specific steps when importing data
- We need to prevent certain operations from running when we are importing data
- This is to prevent unique database constraints from being violated

- Do not register plugins during data import
- Do not launch notification events
2022-02-03 16:03:46 +11:00
Oliver bf528db4ab Display error if setting update failes 2022-02-03 15:46:44 +11:00
OliverandGitHub eef15b13ec Merge pull request #2596 from SchrodingersGat/bom-export
Fixes issue with BOM export
2022-02-03 15:30:48 +11:00
OliverandGitHub 2b11d5ed52 Merge pull request #2595 from SchrodingersGat/build-refresh
Build refresh
2022-02-03 15:30:41 +11:00
Oliver 5cd5ee81af Layout changes 2022-02-03 15:30:36 +11:00
Oliver ababab944b Boolean settings are now directly clickable 2022-02-03 15:25:21 +11:00
Oliver 72be63572e Fixes issue with BOM export
- Cascading BOM export was broken
2022-02-03 14:52:38 +11:00
Oliver c6089a2828 Reload completed output table 2022-02-03 14:47:35 +11:00
OliverandGitHub 0d6cdb1761 Merge pull request #2593 from SchrodingersGat/build-output-quantity
Prevent build outputs being created with zero quantity
2022-02-03 14:43:29 +11:00
Oliver 66e5aa4060 Reload build output table when an active build output is deleted 2022-02-03 14:23:25 +11:00
Oliver 566fd87e86 PEP style fixes 2022-02-03 14:16:33 +11:00
Oliver b387b4e173 Prevent build outputs being created with zero quantity 2022-02-03 14:13:13 +11:00
OliverandGitHub a41eca1cb3 Merge pull request #2588 from SchrodingersGat/migration-fix
Prevent AttributeError from being thrown
2022-02-02 13:34:04 +11:00
Oliver ea1f1b398e Prevent AttributeError from being thrown
Ref: https://github.com/inventree/InvenTree/issues/2587
2022-02-02 12:40:10 +11:00
OliverandGitHub dd3ac58f38 Merge pull request #2584 from SchrodingersGat/build-output-requires
Build output requires
2022-02-01 16:35:59 +11:00
Oliver Walters 00d7cf88e8 Throw validation error if no build outputs have been started 2022-02-01 15:58:18 +11:00
Oliver Walters 318e84883a Adds a warning if no build outputs are created 2022-02-01 15:51:38 +11:00
OliverandGitHub 3462cf796b I18n merge (#2582)
* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin

* Fix: New translations django.po from Crowdin
2022-01-30 21:44:23 +11:00
OliverandGitHub 916216acaa Merge pull request #2580 from matmair/patch-1
fix spelling
2022-01-29 11:16:12 +11:00
OliverandGitHub cc7d9eca1a Merge pull request #2578 from SchrodingersGat/substitution-fix
Display "base" part when selecting substitutes
2022-01-28 15:09:55 +11:00
Oliver e879c97e1e Display "base" part when selecting substitutes 2022-01-28 13:23:44 +11:00
OliverandGitHub 60c5635a21 Merge pull request #2576 from SchrodingersGat/translation-fix
Fix message
2022-01-28 09:25:50 +11:00
OliverandGitHub 7e5656ba56 Merge pull request #2575 from SchrodingersGat/allocation-table-improvements
Fixes for new "allocation" tab
2022-01-28 08:56:19 +11:00