Commit Graph

2476 Commits

Author SHA1 Message Date
Oliver Walters
6b9145ae56 Fixes required for v3.2 compatibility
- Specify DEFAULT_AUTO_FIELD
- Specify output_field for annotations
2021-04-20 09:14:08 +10:00
Oliver
157d58b157
Merge pull request #1481 from matmair/instance-name-in-title
Instance name in title
2021-04-18 21:48:37 +10:00
Matthias
6c3a66f7d6 Merge branch 'master' of https://github.com/inventree/InvenTree into price-history 2021-04-18 12:58:19 +02:00
Matthias
c3319e88f4 typo fix 2021-04-18 01:21:44 +02:00
Matthias
5b9c4dc225 sipler translation strings 2021-04-18 01:21:11 +02:00
Matthias
59063bee6b extending translations to the whole sentence 2021-04-17 23:52:21 +02:00
Matthias
20af4c9ba0 template tag for translatable alerts with links 2021-04-17 23:48:47 +02:00
Matthias
b1e08dae78 Merge branch 'master' of https://github.com/inventree/InvenTree into instance-name-in-title 2021-04-17 12:19:38 +02:00
Matthias
3598c36043 Merge branch 'master' of https://github.com/inventree/InvenTree into price-history 2021-04-17 09:59:05 +02:00
Oliver
d4529ec1c4
Merge pull request #1464 from matmair/translation_improv
Translation improvments
2021-04-16 21:46:07 +10:00
Matthias
098ac0c461 using feature in views 2021-04-15 14:52:08 +02:00
Matthias
d49977bed3 initial implementation as described in #1463 2021-04-15 14:51:11 +02:00
Matthias
cfae92e22b more translated strings for api-titles and filters 2021-04-15 12:15:02 +02:00
Matthias
75381cbb7b Merge branch 'master' of https://github.com/inventree/InvenTree into price-history 2021-04-14 21:18:21 +02:00
eeintech
3eae70e745 Merged master and company migrations 2021-04-12 11:10:35 -04:00
Oliver Walters
8a06eaa40d Unit testing 2021-04-11 19:28:39 +10:00
Oliver Walters
85c9bc1b81 Adds detail endpoint for PartParameter model 2021-04-11 18:56:35 +10:00
Oliver Walters
b74d365529 Merge remote-tracking branch 'upstream/master' into django-q 2021-04-10 22:46:20 +10:00
Oliver Walters
e787c853e5 Update logger context 2021-04-10 20:08:13 +10:00
Oliver
6bf3cc9e01
Merge pull request #1446 from eeintech/bom_yaml_export
Replace normalize with integer wrapper for quantity field
2021-04-10 09:17:23 +10:00
eeintech
afddf12339 Changed int to float 2021-04-08 22:04:26 -04:00
eeintech
cbddda6640 Remove normalize import 2021-04-08 14:41:06 -04:00
eeintech
7491cda313 Replace normalize with integer wrapper for quantity field 2021-04-08 14:35:47 -04:00
eeintech
b5a5f5b409 Simplified stock table view in Part and SupplierPart detail pages 2021-04-08 13:42:35 -04:00
eeintech
0bb2507dd6 Added manufacturer part deletion warning when deleting a part 2021-04-07 14:02:50 -04:00
eeintech
1074300ba0 Improved BOM export of combined manufacturer and supplier data 2021-04-07 12:24:32 -04:00
eeintech
c0691c3e9b Decoupled manufacturer and supplier data in BOM export, aggregate data needs more work 2021-04-07 11:43:05 -04:00
eeintech
f39928368e Merge branch 'master' of github.com:inventree/InvenTree into manufacturer_part 2021-04-07 10:33:55 -04:00
eeintech
b2264940a3 Dynamic control of information to make cleaner supplier and manufacturer tables 2021-04-07 09:54:20 -04:00
Matthias
32eaf48c12 fixed styling 2021-04-06 18:33:57 +02:00
Matthias
f647120cd1 initial showcase implementation 2021-04-06 18:17:09 +02:00
eeintech
bd65a42410 Removed global setting for manufacturer parts (enabled for all users) 2021-04-06 08:49:45 -04:00
Matthias
20c455384e added more translation-strings 2021-04-04 22:44:14 +02:00
Matthias
c68220a597 migrations for all the translated models, totally forgot that 2021-04-03 14:11:28 +02:00
Matthias
0547e1c03b added more translations in html / js 2021-04-03 04:05:59 +02:00
Matthias
446bc06c1b switched translation methode to lazy 2021-04-03 04:01:40 +02:00
Matthias
2de6fcbfa4 added missing translation fields #753 2021-04-03 03:59:09 +02:00
eeintech
94574b37ae Added Manufacturer parts to search, fixed icons, added manufacturer view in supplier part detail page 2021-04-01 10:00:15 -04:00
eeintech
50adb2ac61 SourceItem only for SupplierPart, added logic to templates 2021-03-29 15:39:25 -04:00
eeintech
e6dfb7da52 Added global setting to enable manufacturer parts
Created SourceItem model
Updated templates
2021-03-29 13:22:15 -04:00
eeintech
cbb887ae79 Merge branch 'master' of github.com:inventree/InvenTree into manufacturer_part 2021-03-29 10:12:20 -04:00
Oliver Walters
7a4b90649a HTML / CSS fixes 2021-03-29 16:36:27 +11:00
eeintech
afd2dacfc7 Can now create, view list of parts and view detail page 2021-03-24 11:44:51 -04:00
eeintech
e28dde7f7b Fixed navbar, added missing template and urls 2021-03-23 17:45:03 -04:00
eeintech
08ffbee8ed Fixed model name and added to part navbar 2021-03-23 17:33:29 -04:00
Oliver
57289fe141
Merge pull request #1410 from SchrodingersGat/image-downloader
Image downloader
2021-03-18 11:10:07 +11:00
Oliver Walters
9c91ba4692 Add image download functionality for company 2021-03-18 09:20:24 +11:00
Oliver Walters
e3a5a56371 Add "modal image" display for part thumbnails 2021-03-17 23:44:47 +11:00
Oliver Walters
db47629867 Cleanup 2021-03-17 23:15:48 +11:00
Oliver Walters
8b310d8e47 Check length of response 2021-03-17 23:11:38 +11:00
Oliver Walters
be30933bfa Add custom form template 2021-03-17 23:06:56 +11:00
Oliver Walters
9a710ca28f Fix image download code 2021-03-17 23:02:32 +11:00
Oliver Walters
5f19f534fc Catch error if invalid image is uploaded 2021-03-17 09:47:57 +11:00
Oliver Walters
15678f789c Add global setting to enable download of files / images from remote URL 2021-03-17 08:40:30 +11:00
Oliver Walters
45edb7e802 Add button 2021-03-17 08:28:38 +11:00
Oliver Walters
5b7d35e6f7 add View 2021-03-17 08:28:28 +11:00
Oliver Walters
3900f9b1b6 Add form for submitting image URL 2021-03-17 08:28:12 +11:00
eeintech
85474516a3 Merge branch 'master' of github.com:inventree/InvenTree into ipn_edit_setting 2021-03-16 10:23:27 -04:00
Oliver
5e48009241
Merge pull request #1407 from eeintech/bom_match_headers
Split required and part match headers for BOM import
2021-03-16 08:19:32 +11:00
eeintech
64a57128bc Return True for BOM valid flag if part does not have BOM items 2021-03-15 10:37:30 -04:00
eeintech
d39bd88440 Split required and part match headers for BOM import 2021-03-15 09:41:04 -04:00
eeintech
7b81a470b9 Merge branch 'master' of github.com:inventree/InvenTree into ipn_edit_setting 2021-03-15 08:50:31 -04:00
Oliver Walters
2de879d2ba Add option to hide form error message 2021-03-15 20:30:18 +11:00
eeintech
b152f7041b Add setting to disable IPN editing after part is created (web only) 2021-03-12 10:30:31 -05:00
Andreas Kaiser
3897166185 fix typo 2021-03-10 09:48:54 +01:00
Andreas Kaiser
48cd227f06 german translation, HTML tags refactored 2021-03-06 21:52:57 +01:00
Andreas Kaiser
ade1d36397 updated german translation, change tags bold italics 2021-03-05 01:03:08 +01:00
Oliver Walters
d111e7bff0 Hide fields rather than pop, to reduce warnings in CI logs 2021-03-04 21:42:49 +11:00
Oliver Walters
979f543c3f Add build orders to search results list 2021-03-03 08:44:13 +11:00
Oliver Walters
cd01bb0ad7 Refactor HTML view permission
- Introspect database model from View
- Automatically get the permission from the View class
2021-03-02 21:32:32 +11:00
Oliver
7aed696451
Merge pull request #1373 from SchrodingersGat/server-pagination
Server pagination
2021-03-01 13:31:50 +11:00
Oliver Walters
9f9629edb3 Fix for unit test 2021-03-01 11:21:18 +11:00
Oliver Walters
34def10765 Delete un-needed code 2021-02-28 21:44:10 +11:00
Oliver Walters
90feb6d210 Server-side paginatino for build orders 2021-02-28 20:31:01 +11:00
Oliver Walters
1239d4af16 Fixes result limiting
- Required for index page
2021-02-28 20:16:05 +11:00
Oliver Walters
487794a938 Server side pagination for the part list 2021-02-28 16:29:25 +11:00
Oliver Walters
6f2ba71339 Refactor side navigation tree 2021-02-28 11:48:20 +11:00
Oliver Walters
b315b958b0 PEP fixes 2021-02-27 07:56:38 +11:00
Oliver Walters
ee744be5fe Refactor API unit tests for part 2021-02-26 21:45:37 +11:00
Oliver Walters
6e3cb326fb Use better introspection, no longer required "role_required" 2021-02-26 21:36:40 +11:00
Oliver Walters
5c61c18dc4 Add API endpoint which provides list of role permissions available to current user 2021-02-26 17:52:06 +11:00
Oliver Walters
cd5bc395f2 PEP fixes 2021-02-26 16:03:38 +11:00
Oliver Walters
20740035e8 Add role to API endpoints in 'part' app 2021-02-26 14:37:50 +11:00
Oliver Walters
81e9fd7a44 Escape hatch if role not required 2021-02-26 14:26:37 +11:00
Oliver Walters
36359fc547 RolePermission is now default for API endpoints 2021-02-26 14:05:26 +11:00
Oliver Walters
cd8c6fa81a Add RolePermission for API endpoints 2021-02-26 13:53:23 +11:00
Oliver Walters
1dfda5b0ed Fix display for top-level category 2021-02-26 13:03:03 +11:00
Oliver Walters
12c2ea3b37 Refactor multi-bom deletion 2021-02-26 10:54:54 +11:00
Oliver Walters
f2da1c990b Simplify process for marking a part as "starred" 2021-02-25 23:27:27 +11:00
Oliver
35b9b17167
Merge pull request #1354 from SchrodingersGat/tree-fix
Sidenav Fixes
2021-02-25 09:45:56 +11:00
Oliver Walters
26e80fa0ab Fancify all the menubars 2021-02-25 09:10:20 +11:00
Oliver Walters
fe42d5c54d Cleanup display for part 2021-02-24 21:58:40 +11:00
Oliver Walters
48d2a395de Part Category now uses menubar display 2021-02-24 21:39:45 +11:00
Oliver Walters
a0eec930bb Cleanup 2021-02-24 21:30:55 +11:00
Oliver Walters
213851e8aa Purchase Order now uses menu bar 2021-02-24 20:01:05 +11:00
Oliver Walters
bedfaa582c Update "part" display to use new menubar 2021-02-24 17:58:43 +11:00
Oliver Walters
2a7b32d4f4 Part display tweaks 2021-02-24 16:37:32 +11:00
Oliver Walters
546a1c91cc Allow searching part by revision field 2021-02-24 11:05:52 +11:00
Oliver Walters
a660578262 Move part menu to the left 2021-02-24 11:02:11 +11:00
Oliver Walters
15a59d54ca Abstract template context data for part 2021-02-24 09:05:31 +11:00
Oliver Walters
2e87499fa5 Basic right-side menu for part 2021-02-23 21:51:41 +11:00
Oliver Walters
68f24e97ac Make tree sidenav resizable 2021-02-23 21:09:55 +11:00
Oliver
8cc904fe8a
Merge pull request #1352 from SchrodingersGat/bug-fix
Bug fix for trackable parts
2021-02-23 18:01:56 +11:00
Oliver Walters
a48be3bea9 Remove regex search functionality from part api 2021-02-23 16:57:17 +11:00
Oliver Walters
b64d48544d Bug fix for trackable parts 2021-02-23 16:49:09 +11:00
Oliver
94c8bb6805
Merge pull request #1350 from SchrodingersGat/recently-updated
Adds "Recently Updated Stock" to index page
2021-02-23 14:47:24 +11:00
Oliver Walters
949a541ee0 Add more options to StockList api
- Limit query results
- Order by various fields
2021-02-23 13:43:26 +11:00
Oliver Walters
39d4ddd845 Enable filtering for "used in" table 2021-02-23 13:23:23 +11:00
Oliver Walters
041f056116 Display stock tab for virtual parts 2021-02-23 10:40:52 +11:00
Oliver Walters
58863b1924 Show child builds 2021-02-22 22:35:54 +11:00
Oliver
b8327a5531
Merge pull request #1342 from SchrodingersGat/label-improvements
Label improvements
2021-02-22 19:45:11 +11:00
Oliver Walters
199ba27031 PEP!!! 2021-02-22 18:44:59 +11:00
Oliver Walters
cf6a03456f Adds 'suppliers' field to Part serializer
- Number of supplier parts associated with the Part object
2021-02-22 18:44:31 +11:00
Oliver Walters
28e9aa4afa More unit fixes 2021-02-22 18:11:40 +11:00
Oliver Walters
9fe9cbc795 Fixes weird variant display
- Seems like the double import was at fault (somehow??)
2021-02-22 16:57:33 +11:00
Oliver Walters
bfbcbe252b Adds "required parts" tab to build view 2021-02-18 17:14:57 +11:00
Oliver Walters
e75b9d04fe PEP fix 2021-02-18 14:38:25 +11:00
Oliver Walters
7a51e6cf78 Implement filtering which accommodates new inheritable BOM feature
- Can no longer filter bom_items by sub_part
- Adds get_used_in_filter() and get_used_in() for part model (returns a query of other part objects)
2021-02-18 14:35:21 +11:00
Oliver Walters
abe1018abe Add new fields to BOM item hash 2021-02-18 00:40:30 +11:00
Oliver Walters
8caf6bad10 Fix for duplicating BOM
- Do not duplicate bom items which are "inherited"
2021-02-18 00:38:40 +11:00
Oliver Walters
3f30421ba9 bug fix 2021-02-17 23:57:45 +11:00
Oliver Walters
bb3440a8a4 Refactor bom item filter
- Also updates a number of part functions to make use of inherited BOM items
2021-02-17 22:53:56 +11:00
Oliver Walters
1eb2456e3d Display inherited rows a bit differenter 2021-02-17 22:25:43 +11:00
Oliver Walters
43eba3f7ec Add ability to include bom items inherited from parent parts in the API list 2021-02-17 22:05:17 +11:00
Oliver Walters
40d75090a7 Add 'inherited' flag to API 2021-02-17 21:53:26 +11:00
Oliver Walters
d692c18274 Add 'inherited' field to BomItem 2021-02-17 21:53:15 +11:00
Oliver Walters
fcc35f2260 Fix display of parts currently being built 2021-02-17 13:14:27 +11:00
Oliver Walters
ba542dcbdb Auto-fill build quantity 2021-02-17 13:06:18 +11:00
Oliver Walters
8780b8435a style fix 2021-02-17 12:46:05 +11:00
Oliver Walters
34df19242c Adds more context data 2021-02-17 11:08:11 +11:00
Oliver Walters
28c9c80f54 Calculate quantity required for sales orders
- Cache data going to part detail view
2021-02-17 10:57:17 +11:00
Oliver Walters
cda97829ab Add function for required build order quantity 2021-02-17 10:27:36 +11:00
Oliver
a444f21e64
Merge pull request #1292 from SchrodingersGat/bom-report
BOM report
2021-02-16 21:32:28 +11:00
Oliver Walters
11099676ef Dialog for printing BOM reports 2021-02-12 21:23:56 +11:00
Oliver Walters
b22b82877d Hide units when empty 2021-02-12 20:01:09 +11:00
Oliver
af7a627230
Merge pull request #1271 from SchrodingersGat/migration-unit-test
Migration unit test
2021-02-04 23:56:12 +11:00
Oliver Walters
74704a7c1e Mark migrations with data operations "non atomic"
Ref: https://docs.djangoproject.com/en/dev/howto/writing-migrations/#non-atomic-migrations
2021-02-04 22:19:15 +11:00
Oliver Walters
a0e7d37a19 Add setting for enabling / disabling test reports 2021-02-04 21:15:19 +11:00
Oliver Walters
a025b7239d Adds simple test-report template 2021-02-04 15:29:46 +11:00
Oliver Walters
6230fb3614 Add custom report template tags 2021-02-04 13:41:47 +11:00
Oliver Walters
b107c54eb2 PEP fix 2021-02-04 09:13:45 +11:00
Oliver Walters
e407b99d0d Add initial migration unit test for the 'part' app 2021-02-04 09:13:11 +11:00
Oliver Walters
0e246a7fdf Migration fix (response is different for postgresql) 2021-02-03 13:02:28 +11:00
Oliver Walters
43e03ed023 Update unit tests 2021-02-01 12:26:58 +11:00
Oliver Walters
7e8def15ed Hide barcode actions if barcode support is disabled 2021-01-28 20:45:42 +11:00
Oliver Walters
220777611a Prevent part images from auto deleting
- Part images can be used for multiple parts
2021-01-27 22:31:21 +11:00
Oliver Walters
436207b315 Merge remote-tracking branch 'inventree/master' into batch-reports
# Conflicts:
#	InvenTree/templates/stock_table.html
2021-01-18 23:23:58 +11:00
Oliver Walters
833ba8c472 Template fixes 2021-01-18 22:45:07 +11:00
Oliver Walters
526d81481b Cleanup 2021-01-18 22:25:53 +11:00
eeintech
72c7ceb553 Merged master and updated stock_table.html 2021-01-17 13:11:59 -05:00
Oliver Walters
85bce24e30 Limit matches to the 5 "most matchy" ones 2021-01-15 12:32:27 +11:00
eeintech
7d5571ba5b Merged changes from master 2021-01-14 08:52:56 -05:00
Oliver Walters
1dc2636e45 Add option to show part quantity in various forms
Enabling this option can make BOM item forms *very* slow!
2021-01-14 15:20:42 +11:00
Oliver Walters
1cb951bd0b Fix for font-awesome icon 2021-01-14 12:08:54 +11:00
Oliver Walters
890ce9ef95 Fix IPN comparison against null value 2021-01-14 10:58:29 +11:00
eeintech
e92e5dfe8f Merged master 2021-01-13 17:08:01 -05:00
eeintech
59c0a50289 Separated category from part permissions and location from stock item permissions 2021-01-13 13:35:49 -05:00
eeintech
a1b2347784 Also allow part attachements and parameters to be deleted 2021-01-12 17:43:12 -05:00
eeintech
ba1862478c Allow user with part.change permission to delete BOM items 2021-01-12 17:34:11 -05:00
eeintech
5ca03af3e2 Improved Owner.get_owner method and fixed tests (try#2) 2021-01-12 16:36:29 -05:00
eeintech
b6135fda74 Updated templates and a lot of manual testing 2021-01-12 13:16:04 -05:00
Oliver Walters
59bb5d15c8 Filter PartAttachment API list by Part reference 2021-01-08 08:43:00 +11:00
Oliver Walters
d0fb69e67d Add option to enable / disable stock expiry feature
- Simply hides fields in form views
2021-01-05 08:50:07 +11:00
Oliver Walters
855098e30b Merge conflicting migration files 2021-01-05 00:58:48 +11:00
Oliver Walters
e715ea5d79 Merge remote-tracking branch 'inventree/master' into stock-expiry
# Conflicts:
#	InvenTree/common/models.py
2021-01-05 00:58:32 +11:00
Oliver Walters
9a30108b75 Auto-update the expiry date in the StockItem form when switching Part selection 2021-01-05 00:37:42 +11:00
Oliver Walters
da02ab3eac Add unit testing for view 2021-01-05 00:01:44 +11:00
Oliver Walters
37dcf1c1cf Add "default_expiry" field to Part model 2021-01-04 23:36:11 +11:00
Oliver Walters
d1ce0f062e Improve unit testing for StockItem API 2021-01-04 01:22:43 +11:00
Oliver Walters
b05504e1c4 Add PART_VIRTUAL setting 2021-01-03 23:13:58 +11:00
Oliver Walters
0aeeba808c PEP fixes 2021-01-03 23:07:21 +11:00
Oliver Walters
6c7b648133 Implement global settings for assembly and template values of Part model 2021-01-03 23:06:51 +11:00
Oliver Walters
298e9cae65 Fix variable scope issue 2021-01-03 10:07:38 +11:00
eeintech
bcae1d09a8 Fixed category parameter templates settings view 2020-12-17 17:25:10 -05:00
Oliver Walters
06d9f4f982 Bugfix for duplicate IPN checks when blank IPN is used 2020-12-16 21:02:53 +11:00
Oliver Walters
ea2f5009c8 Vastly improved speed of BOM upload
- Was calculating the stock levels for *every* part, for *every* drop down
- Many many many calls were being made
- Just remove stock count entirely from the drop-down menus
2020-11-27 14:40:30 +11:00
Oliver Walters
e3231bbedb Hide "pricing" information in the BOM table 2020-11-24 20:58:18 +11:00
Oliver Walters
b5d75d6e6a PEP fixes 2020-11-24 11:56:51 +11:00
Oliver Walters
ce82579930 Cleanup getRequiredParts function 2020-11-24 10:18:07 +11:00
Oliver Walters
371ec582e1 Cleanup queryset for BomItemEdit view 2020-11-24 09:43:49 +11:00
Oliver Walters
3391db506a Cleanup queryset for BomItemCreate view 2020-11-24 09:43:32 +11:00
Oliver Walters
af9b88de11 Fix for BomItem clean function
Handle the case where the sub_part does not exist
2020-11-24 09:33:26 +11:00
Oliver Walters
599220a931 Fixes for custom SQL queries
- Don't use double quotes!
- NO NO NO!
- Single quotes only
2020-11-19 09:15:16 +11:00
eeintech
ac2797c7a1 Improved API endpoint for category parameter templates 2020-11-16 16:10:00 -05:00
Oliver Walters
0f42916521 Improve settings.py
- Load database config from either config.yaml or environment variables
- Mix and match, if you want!
- Move to use logging module rather than just printing stuff
- Error if required database parameters are not required
2020-11-13 13:38:01 +11:00
Oliver
1d4b826d03
Merge pull request #1124 from eeintech/fix_nocategory_templates_error
Check that category was selected before fetching templates
2020-11-13 10:41:51 +11:00
eeintech
d4ac35b9aa Check that category was selected before fetching templates 2020-11-12 16:52:22 -05:00
Oliver Walters
ae7fbd6112 Add PEP8-naming extension for flake
- Enforcing python naming checks
2020-11-12 21:53:04 +11:00
Oliver Walters
47cbf3071d Add option to add a single-quantity price-break when creating a new SupplierPart object
- Add unit testing!
2020-11-12 21:36:32 +11:00
Oliver Walters
cb3c86f87a Merge remote-tracking branch 'inventree/master' into currency-support
# Conflicts:
#	InvenTree/InvenTree/settings.py
#	InvenTree/InvenTree/urls.py
#	InvenTree/templates/InvenTree/settings/tabs.html
#	InvenTree/users/models.py
#	requirements.txt

IMPORTANT: Had to merge some migration files due to different migrations applied on the part model tables
2020-11-12 17:24:48 +11:00
Oliver Walters
51d2d85c26 When creating a new price break for a supplier part, default to using the currency code specified for the supplier company 2020-11-12 11:14:50 +11:00
eeintech
bfdda847c4 Updated part migration reference in 0054 2020-11-11 11:18:10 -05:00
Francois
a7444a9926
Merge branch 'master' into categories_parameters 2020-11-11 06:40:11 -05:00
Oliver Walters
039a7badd1 A little whoopsie-doo:
- Part.clean() was incorrectly referencing a BomItem when it should have been referencing BomItem.part
2020-11-11 16:09:14 +11:00
Oliver Walters
fc89501a62 Fix for SQL cursor query
- What works in SQLite don't necessarily fly with the big boys
2020-11-11 08:06:14 +11:00
Oliver Walters
4dff18e4a6 Remove common_currency model entirely
- A lot of views / pages / etc needed to be updated too
- Now uses django-money fields entirely
- Create a manual rate exchange backend (needs more work!)
2020-11-11 00:21:06 +11:00
Oliver Walters
1fc2ef5f18 Custom migration for PartSellPriceBreak 2020-11-10 22:31:46 +11:00
Oliver Walters
a6028f027a Add setting to allow or prohibit duplicate IPN values 2020-11-10 09:03:26 +11:00
Oliver Walters
c4296ad4f1 Update migrations and translation 2020-11-09 23:47:31 +11:00
Oliver Walters
c95f124578 Add some helper magic for setting objects
- If the setting is defined as a "bool" then the returned value is automatically cast to a bool
- Add some more unit testing
2020-11-09 23:44:54 +11:00
Oliver Walters
75ab7b247b Push part settings into part/settings.py
- Use the user-configurable defaults in the database model itself
- This means they are observed even when using the API / etc
2020-11-09 23:16:04 +11:00
Oliver Walters
e1b70ff68f Add default values for create part form 2020-11-09 22:52:32 +11:00
eeintech
324645b67c Added same level category checkbox and method when adding category template 2020-11-04 12:26:10 -05:00
eeintech
e401bb8e3c Improved tests, fixed admin, improved naming 2020-11-04 12:06:07 -05:00
eeintech
1c14c2237a Moved category templates processing to Part save() method 2020-11-04 09:52:26 -05:00
eeintech
9eba564ff6 Merge branch 'master' of git://github.com/inventree/InvenTree into categories_parameters 2020-11-04 07:52:16 -05:00
eeintech
142cea0cbb Removed custom form save method, remove unused model methods, restored InvenTree CreateAjaxView, improved part related testing 2020-11-04 07:44:06 -05:00
eeintech
853a821497 Merge branch 'master' of git://github.com/inventree/InvenTree into fix_related_parts 2020-11-04 06:46:20 -05:00
Oliver Walters
f560be1a9a Bug fix: Part thumbnail API list was not working
- Part images could not be selected from grid
2020-11-04 15:41:17 +11:00
eeintech
4e157fe956 Fixed text for parent categories checkbox 2020-11-03 17:05:08 -05:00
eeintech
279d5a00ce Switched to get_ancestors to transverse all parents categories (not only root) 2020-11-03 16:58:53 -05:00
eeintech
5a5a36083e Finalized implementation when creating new part 2020-11-03 16:54:46 -05:00
eeintech
0882528b82 Missing class trailing space 2020-11-03 11:15:16 -05:00
eeintech
32b46cdc2a Added better PartRelated creation test 2020-11-03 11:14:31 -05:00
eeintech
6b702ef676 Manually merged part migrations 2020-11-03 07:27:51 -05:00
Francois
b1885138de
Merge branch 'master' into categories_parameters 2020-11-03 07:01:56 -05:00
Oliver Walters
3ea671986c Merge conflicting migration files 2020-11-03 21:29:25 +11:00
Oliver Walters
083dac1300 Merge remote-tracking branch 'inventree/master' into build-fixes 2020-11-03 21:26:39 +11:00
Oliver
ef2c04baa8
Merge pull request #1048 from eeintech/related_parts
Related Parts
2020-11-03 21:18:27 +11:00
Oliver Walters
2b91f69c7d Fix unit tests 2020-11-03 20:19:24 +11:00
Oliver Walters
b936f67d87 Various form fixes
- Updating forms, a lot has changed!
2020-11-03 16:21:40 +11:00
eeintech
13a07be728 Added PartCategoryParameterTemplate tests 2020-11-02 15:35:54 -05:00
eeintech
6320384ecb Fixed category parameter template edit form 2020-11-02 15:05:37 -05:00
eeintech
34b784d1e4 Added setting, checkbox (PartCreateView only) and hook to create part parameters from category templates 2020-11-02 13:14:31 -05:00
eeintech
978b5f869d Added checkbox to add parameter template to all categories 2020-11-02 12:20:29 -05:00
Oliver Walters
500da8099b Add forms / views for creating a new build output, and completing the build
- Also some refactoring of how forms are handled and saved
2020-11-02 22:56:26 +11:00
Oliver Walters
b02c87ea50 Lots of work towards multiple build output 2020-11-02 01:24:31 +11:00
eeintech
3a347fba21 Added edit/delete for category parameter templates 2020-10-31 12:55:52 -05:00
eeintech
2a563d7370 Added category list of parameter templates table to settings 2020-10-31 09:18:33 -05:00
eeintech
3e5d8d2b2d Added form to select category in settings and update context data 2020-10-31 08:35:47 -05:00
eeintech
5310ce8465 First step into managing Category Parameters to InvenTree settings 2020-10-30 17:17:18 -05:00
eeintech
34ff05d66e Created PartCategoryParameterTemplate model and admin interface 2020-10-30 16:09:27 -05:00
Oliver Walters
95fadf1300 Update unit testing 2020-10-30 23:08:12 +11:00
Oliver Walters
3a702266e6 Merge remote-tracking branch 'inventree/master' into build-fixes
# Conflicts:
#	InvenTree/InvenTree/views.py
#	InvenTree/build/views.py
#	InvenTree/locale/de/LC_MESSAGES/django.po
#	InvenTree/locale/en/LC_MESSAGES/django.po
#	InvenTree/locale/es/LC_MESSAGES/django.po
#	InvenTree/order/views.py
#	InvenTree/part/api.py
#	InvenTree/part/views.py
#	InvenTree/templates/js/bom.js
2020-10-30 22:44:25 +11:00
Oliver Walters
1caa341f8e Fixes for unit tests 2020-10-30 21:34:56 +11:00
Oliver Walters
e049ca1a85 More refactoring 2020-10-30 16:54:05 +11:00
Oliver Walters
c533f59405 Refactor how form errors are handled
- Use form.add_error (as the django gods intended)
2020-10-30 16:04:56 +11:00
Oliver
fb28204dfd
Merge pull request #1093 from SchrodingersGat/bom-filters
Add filtering for BOM table
2020-10-30 12:45:46 +11:00
Oliver Walters
2428e77969 Add filtering for BOM table 2020-10-30 11:45:54 +11:00
Oliver Walters
2d583d19c2 Adds function to duplicate a BOM from a parent part
- Improves form validation workflow
- More 'djangoesque'
2020-10-30 10:08:06 +11:00
Oliver Walters
90cfb3496a Merge remote-tracking branch 'inventree/master' into build-fixes
# Conflicts:
#	InvenTree/locale/de/LC_MESSAGES/django.mo
#	InvenTree/locale/de/LC_MESSAGES/django.po
#	InvenTree/locale/en/LC_MESSAGES/django.po
#	InvenTree/locale/es/LC_MESSAGES/django.po
#	InvenTree/templates/js/bom.js
2020-10-29 15:23:51 +11:00
Oliver Walters
1d6d1121a7 Add some more icons 2020-10-29 13:58:05 +11:00
Oliver Walters
8246e9c802 Add function makeIconBadge for tables
- Add filters for part variants table
2020-10-29 13:18:45 +11:00
Oliver Walters
60a8ef723b Simplify display of possible conflicting parts
- Round to single digit
- Only show 5 closest matches

(cherry picked from commit ed8be5225d)
2020-10-29 12:42:38 +11:00
Oliver Walters
4a7e9a2278 Update translations and PEP fixes 2020-10-28 23:59:18 +11:00
Oliver Walters
ed8be5225d Simplify display of possible conflicting parts
- Round to single digit
- Only show 5 closest matches
2020-10-28 23:48:35 +11:00
Oliver Walters
091a9d9803 Refactor how form errors are handled
- When in doubt, refer to the django docs
- There was a *much* better way (thanks, form.add_error)!
- The anti-pattern was deleted, and lo, there was much rejoicing
- Some other refactoring too
2020-10-28 23:33:33 +11:00
Oliver Walters
d06b4d7c9f Merge remote-tracking branch 'inventree/master' into build-fixes
# Conflicts:
#	InvenTree/InvenTree/urls.py
#	InvenTree/locale/de/LC_MESSAGES/django.mo
#	InvenTree/locale/de/LC_MESSAGES/django.po
#	InvenTree/locale/en/LC_MESSAGES/django.po
#	InvenTree/locale/es/LC_MESSAGES/django.po
#	InvenTree/part/templates/part/bom.html
#	InvenTree/templates/js/build.js
#	InvenTree/templates/js/table_filters.js
#	InvenTree/templates/stock_table.html
#	tasks.py
2020-10-28 22:25:14 +11:00
Oliver Walters
d0b7d91ca4 Update multiple templates with fontawesome icons 2020-10-28 18:30:38 +11:00
Oliver Walters
c63480c65b Improve table for displaying what parts a particular part is "used in" 2020-10-28 18:12:38 +11:00
Oliver Walters
170d55d64e Add custom form validation step 2020-10-27 22:52:01 +11:00
James Newlands
c61eeca3e4 Even though nothing happened to the database schema, the field description changed 2020-10-27 15:58:05 +11:00
James Newlands
8bf281e153 Fix typo in new / edit part forms ("extenel URL")
Capitalisation consistency in "Create New Part" form title
2020-10-27 14:52:31 +11:00
Oliver Walters
210d39c8b7 Bug fix - re-introduce settings_value custom tag
(cherry picked from commit 9203f541be)
2020-10-26 22:44:49 +11:00
Oliver Walters
9203f541be Bug fix - re-introduce settings_value custom tag 2020-10-26 22:44:16 +11:00
Oliver Walters
a4f6efc05d Merge remote-tracking branch 'inventree/master' into build-fixes
# Conflicts:
#	InvenTree/locale/de/LC_MESSAGES/django.po
#	InvenTree/locale/en/LC_MESSAGES/django.po
#	InvenTree/locale/es/LC_MESSAGES/django.po
#	InvenTree/templates/js/build.html
2020-10-26 22:38:43 +11:00
Oliver Walters
8f108d42d2 Add ability to filter BOM status by "validated" field 2020-10-26 14:43:43 +11:00
Oliver Walters
24ab48ef4c Filter BOM table by "trackable" status 2020-10-26 13:53:34 +11:00
Oliver Walters
815d4bf7eb Add new template_tag for defining variables 2020-10-26 09:11:25 +11:00
Oliver Walters
6aaf178f0b Check "trackable" status of part
- Where a BomItem connects a trackable sub_part with a non-trackable part, force the Part to be trackable
2020-10-26 08:29:06 +11:00
Oliver Walters
e978e1df52 Style fixes 2020-10-25 22:11:24 +11:00
Oliver Walters
9284837da8 Bug fixing 2020-10-25 21:45:37 +11:00
Oliver Walters
7d95faa4f5 Cleanup code 2020-10-25 21:43:33 +11:00
Oliver Walters
432ecc1d96 Display boolean values as checkboxes 2020-10-25 21:33:13 +11:00
Oliver Walters
e3f5e8fbb1 PEP fixes 2020-10-25 08:04:04 +11:00
Oliver Walters
3e17bf3316 Edit setting directly 2020-10-25 08:02:46 +11:00
Oliver Walters
10758a9626 Improvements for global settings
- Name and description are defined in models.py
- Lookup functions for name / description / units / default
- Shortcut template for rending settings
- More unit testing
2020-10-25 07:49:38 +11:00
Oliver Walters
ea7b1b65d6 Delete a build output entirely
TODO: Needs to describe in the confirmation dialog what is going to happen!
2020-10-24 00:14:27 +11:00
Oliver Walters
0752df26dc Bug fixes for BuildItemCreate view:
- Add option to calculate required quantity against a particular build output, not just the build
2020-10-23 23:09:22 +11:00
Oliver Walters
076d5c4f7f Cleanup get_required_parts function 2020-10-23 22:49:46 +11:00
Oliver Walters
fae516b38e Add build output selection to builditem creation form 2020-10-22 23:28:15 +11:00
eeintech
1ef21700c0 Fixed Part notes template (check for NULL value before mardown render) 2020-10-21 09:26:07 -05:00
Oliver Walters
2e4613e702 Updates to build forms / etc 2020-10-20 22:37:21 +11:00
Oliver Walters
ac79e131bc Add "destination" field to BuildOrder 2020-10-20 21:01:51 +11:00
Oliver Walters
c6e61c20fe Generate default settings for all InvenTreeSetting object 2020-10-20 08:24:23 +11:00
Oliver Walters
e8a0095e50 Add some options for the build order settings page
- Not editable yet
2020-10-20 00:24:33 +11:00
eeintech
5a6cac43f5 Updated migration 2020-10-16 15:42:23 -05:00
eeintech
0b26d68d0f Added admin view, improved validation of part related relationship 2020-10-16 15:29:58 -05:00
eeintech
34e4409e7f Functional checkpoint: add/delete related parts from template 2020-10-16 13:50:31 -05:00
eeintech
8579abb9c2 Added related parts urls, views, form and templates
Adding related part relationships work but are still not shown in the part detail page
2020-10-15 16:58:39 -05:00
eeintech
3d9223c2ee Introduced PartRelated model to store part relationships 2020-10-15 14:11:24 -05:00
eeintech
3143242d13 Added category 'default_location' to serializer 2020-10-12 13:14:24 -05:00
eeintech
eb98496a79 Added part 'default_location' to serializer 2020-10-12 07:25:32 -05:00
Oliver Walters
b595f3b732 Normalize quantity field when exporting BOM 2020-10-08 14:05:55 +11:00
Oliver Walters
ab454e5ba4 More template changes: perms -> roles 2020-10-06 16:46:13 +11:00
Oliver Walters
b3e4efd96e Unit testing fixes 2020-10-06 16:03:19 +11:00
Oliver Walters
11d31960c7 Change modal form permissions to use new "role" strategy 2020-10-06 11:42:16 +11:00
Oliver Walters
c740cce5e4 PEP fixes 2020-10-06 11:31:04 +11:00
Oliver Walters
dc2c9aa662 Add InvenTreeRoleMixin
- Simplifies permission requirements for views
- e.g. 'part.view' rather than 'part.view_partcategory'
2020-10-06 11:29:38 +11:00
Oliver Walters
d2e2e7511f Update templates: Change perms to roles 2020-10-06 10:07:39 +11:00
Oliver Walters
3f59ce3f93 Update unit tests
- requires the user to actually have the necessary permissions!
2020-10-06 01:30:36 +11:00
Oliver Walters
16d720b62c Update permission requirements for API
- Automatically use model permissions by default!
-
2020-10-06 00:36:55 +11:00
Oliver Walters
ba4c829b10 Add permission requirements in various part templates 2020-10-06 00:20:45 +11:00
Oliver Walters
afadd51a14 Fix permissions in views.py
Silly, "add" not "create"
2020-10-06 00:19:44 +11:00
Oliver Walters
66bdce3d04 Hide elements on the PartCategory page, based on permissions 2020-10-05 23:53:24 +11:00
Oliver Walters
4d49cb029f Change part views to require permissions
Also adds custom 403 page
2020-10-05 23:49:32 +11:00
Oliver
dc41231fcc
Merge pull request #1018 from SchrodingersGat/group-roles
Roles and Permissions
2020-10-05 11:16:52 +11:00
Oliver Walters
3ee7be1d58 Add "optional" field to BomItem
- Defaults to False
- Indicates that the BomItem is "optional" for a build
- Will be used in the future when calculating if a Build output is fully allocated!
2020-10-05 00:42:09 +11:00
Oliver Walters
fe3a72c6cc Add some unit testing 2020-10-05 00:29:06 +11:00
Oliver Walters
b27f926310 Add ability to filter BOM API by "trackable" status of the sub_part object 2020-10-04 13:51:52 +11:00
Oliver Walters
2039100d3e Add some unit testing 2020-10-04 00:24:48 +10:00
Oliver Walters
f12f8156bd Fix for "next avilable serial number" string 2020-10-02 13:54:23 +10:00
eeintech
496232ed6d Added tests for Category parameters methods, some code clean-up 2020-10-01 13:46:56 -05:00
eeintech
b7d25a75c4 Hide part toolbar, nicer part representation, improved parameters prefetching 2020-10-01 10:03:49 -05:00
eeintech
a71b5ef0a0 Merge branch 'master' of git://github.com/inventree/InvenTree into parametric_part_tables 2020-10-01 09:02:21 -05:00
Oliver
4f648f8787
Merge pull request #1010 from SchrodingersGat/admin-permission-fixes
Update admin links to require specific permissions
2020-10-01 00:37:43 +10:00
Oliver Walters
81864a6ab8 Fix button layout for stock table 2020-10-01 00:00:37 +10:00
Oliver Walters
27656633df Update admin links to require specific permissions 2020-09-30 23:57:23 +10:00
Oliver Walters
a952dc38a3 Add filtering for parts which have an IPN set 2020-09-30 23:35:39 +10:00
eeintech
40d8a07acc Now loading data! Still need to be bonified 2020-09-29 16:49:53 -05:00
eeintech
d05a5978a0 Unique parameters names from category makes it to bootstrap table 2020-09-29 16:13:08 -05:00
eeintech
6b48977e7b Added 'Parametric Table' tab to category detail view, added part_count to 'Parts' tab 2020-09-29 15:16:12 -05:00
Oliver Walters
d1cce7df94 Add direct admin links if the user is staff 2020-09-30 00:02:10 +10:00
Oliver
fb247c3dd8
Merge pull request #994 from SchrodingersGat/docs-update
Update links to documenation
2020-09-23 08:51:07 +10:00
eeintech
120a17241e Reduced SQL load for 'Require Stock to Complete Build' widget on homepage 2020-09-22 11:24:09 -05:00
Oliver Walters
07adee3c51 Update links to documenation 2020-09-21 22:44:48 +10:00
Oliver
7dbb6c7c8e
Merge pull request #988 from SchrodingersGat/sell-price
Sell price
2020-09-19 23:52:25 +10:00
Oliver Walters
597ab37ba6 Further cleanup 2020-09-19 21:18:29 +10:00
Oliver Walters
1b6843e72d Cleanup "bom_invalid" filter
- Allow filtering by bom either valid or invalid
- Use "bom_valid" as the filter (positive tense)
2020-09-19 21:03:49 +10:00
Oliver Walters
eaf42b8abe Instead of creating a custom filter for "latest" parts,
simply make use of the existing "ordering" query as part of DRF
2020-09-19 20:26:17 +10:00
Oliver Walters
86660a5f17 style fixes 2020-09-19 19:52:48 +10:00
eeintech
c55fa13cdb Added part list which require more stock to be built 2020-09-18 11:40:50 -05:00
Oliver Walters
ca1281ee10 Adds ajax table for part sale price information 2020-09-18 22:11:51 +10:00
Oliver Walters
ff7570aea4 VIews / forms / etc 2020-09-18 21:49:56 +10:00
Oliver Walters
1a90106bac Add a tab for part sale prices 2020-09-18 21:20:28 +10:00
Oliver Walters
a95dd86540 Limit choices for the 'Part' reference in the new model 2020-09-18 09:16:59 +10:00
Oliver Walters
71c0406cf3 Register new model in the admin interface 2020-09-18 09:16:41 +10:00
Oliver Walters
8f1b018f0a Add table for price breaks for selling a part 2020-09-17 23:22:37 +10:00
eeintech
a9fffe6a73 Added latest parts and invalid BOMs on homepage 2020-09-16 17:02:24 -05:00
Oliver Walters
32cde5d8f1 Fixx css for multiple button groups 2020-09-13 20:56:05 +10:00
Oliver Walters
04c702e1b8 Improve action buttons for part display 2020-09-13 20:42:59 +10:00
Oliver Walters
aa35c787b2 Fix for weird button toggles (it was a doozy!)
- Turning off autocomplete seems to have done the job
- https://stackoverflow.com/questions/36546775/html-checkboxes-keep-checked-after-refresh#36547079
2020-09-13 17:47:40 +10:00
Oliver Walters
57e395de71 BOM: Allow multiple BOM items to be selected and deleted
(in editing mode)
2020-09-13 00:40:06 +10:00
eeintech
28585644ea Added automatic listing of custom CSS sheets (no more hardcoded), added error message when current selection is not valid and select default theme 2020-09-09 14:55:32 -05:00
eeintech
35060ce8dc Merge branch 'master' of git://github.com/inventree/InvenTree into color_themes 2020-09-08 16:33:22 -05:00
eeintech
896fa131f0 Moved color themes CSS sheets to own folder, nicer crispy form for selecting theme 2020-09-08 16:24:22 -05:00
eeintech
10dd8fad80 Renamed Theme to ColorTheme, ColorTheme is now a per-user selection 2020-09-07 16:27:23 -05:00
eeintech
2e5ec5d249 Theme change works but applies to all user 2020-09-07 15:15:51 -05:00
eeintech
27241e217f Style correction 2020-09-07 08:46:39 -05:00
eeintech
c5efce36b6 Added PartDetailFromIPN view tests 2020-09-07 08:40:37 -05:00
eeintech
41071f0ed4 Moved IPN url pattern to right before Part index to avoid catching others 2020-09-05 12:03:07 -05:00
eeintech
8198e919b1 Merge branch 'master' of git://github.com/inventree/InvenTree into part_ipn_slug 2020-09-05 11:42:33 -05:00
Oliver Walters
46a8107be5 Refactor stock filter 2020-09-05 23:35:48 +10:00
Oliver Walters
2cf40c0e0b Translation updates 2020-09-05 23:32:36 +10:00
Oliver Walters
f7ad38dad5 Add unit tests for new aggregation annotation approach 2020-09-05 23:28:54 +10:00
Oliver Walters
42967905bc New approach for multiple annotations
- Use the django-sql-utils addon - https://github.com/martsberger/django-sql-utils
- The "distinct=True" flag was not doing what I thought it was doing...
2020-09-05 22:35:19 +10:00
Oliver Walters
c4989e59b2 Allow selection of bom_copy and parameter_copy when making a new variant 2020-09-05 20:10:18 +10:00
eeintech
2fa284d37b Added PartDetailFromIPN view (subclass of PartDetail) and url pattern 2020-09-04 17:20:17 -05:00
eeintech
440a5fafea Implemented part parameters copy from template/original part 2020-09-04 14:02:12 -05:00
Oliver
11b751323e
Merge pull request #953 from SchrodingersGat/part-import-fix
Part: Alter model fields to fix data import issues
2020-09-03 00:18:26 +10:00
Oliver Walters
34a334236a Part: Alter model fields to fix data import issues
Without setting 'null=True' on fields which may be empty,
the import subsequently fails if these fields are indeed empty
2020-09-03 00:11:20 +10:00
Oliver Walters
b89588ffb7 variant of link links to variants page 2020-09-03 00:00:03 +10:00
Oliver Walters
303572bc03 More translation updates 2020-09-02 23:57:51 +10:00
Oliver Walters
eaec85398f Treegrid display for part variants 2020-09-02 23:51:28 +10:00
Oliver Walters
62c26c881d Add ability to filter part list by 'ancestor' 2020-09-02 23:18:26 +10:00
Oliver Walters
bb9e8fa97b Merge remote-tracking branch 'inventree/master' into multi-db-unit-test
# Conflicts:
#	InvenTree/build/test_build.py
2020-09-02 20:02:22 +10:00
Oliver Walters
911727f7b7 Update test fixtures
- Can't assume that pk values will be assigned sensibly!
- Need to hard-code them in
2020-09-02 19:47:07 +10:00
Oliver Walters
4613730a19 PEP fixes 2020-09-01 20:24:14 +10:00
Oliver Walters
74f25ee7f9 Part: Extend logic for "latest" serial number
- Return value if it is a string
- Remove 'getNextSerialNumber' function
- Improve functionality of function which returns serial number placeholder string
2020-09-01 20:16:46 +10:00
Oliver Walters
e6c0a04131 Merge branch 'feature-non-int-serial' of git://github.com/bcc/InvenTree into bcc-feature-non-int-serial 2020-09-01 19:41:48 +10:00
Oliver
90d2265dae
Merge pull request #945 from SchrodingersGat/template-attachments
Part: add function to get part attachments for *all* parents of a part
2020-08-31 22:38:02 +10:00
Oliver Walters
73892e894e Refactoring 2020-08-31 22:30:38 +10:00
Oliver Walters
cd8214ff4a Part: add function to get part attachments for *all* parents of a part 2020-08-31 22:26:46 +10:00
Oliver Walters
672936e2d4 Update many tables 2020-08-31 21:55:01 +10:00
Ben Charlton
06552832cb Style corrections 2020-08-28 17:30:16 +01:00
Ben Charlton
6b1696f8df Merge branch 'master' into feature-non-int-serial 2020-08-28 17:14:02 +01:00
Oliver Walters
146dae6d43 Toot toot - it's the refactor tractor!
- New function for launching a CreateStockItem form
- Wraps up the previous code improvements into a single function
- Oh, the ease!
2020-08-27 00:08:02 +10:00
Oliver
ee0df29af0
Merge pull request #921 from eeintech/show_potential_bom_items_stock
Show 'available_stock' in Part string representation
2020-08-26 09:36:55 +10:00
eeintech
5d6def75cc BoM export, Part stock: changed 'Location' header to 'Default Location' 2020-08-25 16:02:46 -05:00
eeintech
109307858a Merge branch 'master' of git://github.com/inventree/InvenTree into bom_export_parameter_stock 2020-08-25 15:59:58 -05:00
Ben Charlton
e0a744b01d Remove no-longer-needed cast functions 2020-08-24 20:09:06 +01:00
Ben Charlton
0da2682c68 handle non-int serial range suggestions cleanly 2020-08-24 20:00:19 +01:00
Ben Charlton
d5a374f1fd Make serial number suggestion DB independent, handle mixed types more cleanly and test 2020-08-24 19:49:32 +01:00
eeintech
946d824995 Switched to ModelChoiceField 2020-08-24 11:41:14 -05:00
eeintech
6f89f7dc7f Merge branch 'master' into show_potential_bom_items_stock 2020-08-24 10:35:59 -05:00
Ben Charlton
471ece136e Merge branch 'master' into feature-non-int-serial 2020-08-24 11:12:07 +01:00
Oliver Walters
ca1985e11a PEP fixes 2020-08-23 21:10:45 +10:00
Oliver Walters
c849f618d5 Clean up implementation of test report matching 2020-08-23 21:03:29 +10:00
Ben Charlton
23cc3d9b06 Handle 'next serial' more gracefully 2020-08-21 19:17:58 +01:00
Ben Charlton
c31b30bf83 Fix simple tests 2020-08-21 18:53:51 +01:00
Ben Charlton
f7ed48809c Support non-integer serial numbers 2020-08-21 17:36:49 +01:00
Oliver Walters
25cced3b90 Exclude MPTT fields from Part model resource 2020-08-21 20:08:16 +10:00
eeintech
9fa13aeae3 Show 'available_stock' in Part string representation 2020-08-20 15:38:41 -05:00
eeintech
89e63df1fb Corrected style 2020-08-20 14:53:03 -05:00
eeintech
6fc275ca30 BoM export: added option to export part paremeters (#126) and stocks (#793) 2020-08-20 13:53:27 -05:00
Oliver Walters
0faba39dfc PEP: Remove unused variable
(cherry picked from commit e49a1c1ad2)
2020-08-19 14:08:52 +10:00
Oliver Walters
7e829e88af Add option for including supplier data for BOM export
(cherry picked from commit d0b5550c86)
2020-08-19 14:08:47 +10:00
Oliver Walters
3d0012a3bf Bugfix: accomodate missing manfufacturer links
If a supplier_part does not have an associated manufacturer, the code would break

(cherry picked from commit 965dba4739)
2020-08-19 14:08:41 +10:00
eeintech
b5bc8935a2 Added manufacturer data to BoM export
(cherry picked from commit c7ddccc4ec)
2020-08-19 14:08:34 +10:00
Oliver Walters
82903d2bd6 BOM display is now heirarchical 2020-08-18 21:01:22 +10:00
Oliver Walters
92ac93aac5 More intelligent checking for circular BOM
- Check all the way down a BOM "tree"
- Validate BOM tree before allowing BOM submission
2020-08-18 14:17:59 +10:00
Oliver Walters
ca4d3df287 Update translation files 2020-08-18 14:01:40 +10:00
Oliver Walters
68fb599c73 Major improvements to BOM upload
- Column headings now match the values provided in BOM import template
- Add a new column for part selection, while displaying all imported data
- Better code documentation
- Improve data validation
- Allow decimal quantity (not just integer!)
- Better matching logic
2020-08-18 14:01:01 +10:00
Oliver Walters
7349b396ca Merge remote-tracking branch 'upstream/master' into bom-import-export 2020-08-18 11:50:40 +10:00
Oliver Walters
476cc5f661 BOM upload: improve generation of "import" template
- Better field naming
- Remove some fields which are not required here
- Better description of what is going to happen
2020-08-18 11:47:27 +10:00
eeintech
783a94acce Corrected MakeBomTemplate method's queryset 2020-08-17 16:42:28 -05:00
eeintech
84c0ec7937 BoM: added part matching based on IPN 2020-08-17 16:35:38 -05:00
eeintech
303157c586 Added part match auto-selection (if partial_ratio >= 100) to BoM part selection form 2020-08-17 14:10:24 -05:00
eeintech
685a58b807 Merge remote-tracking branch 'origin/master' into bom_dev 2020-08-17 12:05:54 -05:00
Oliver Walters
25d90f643a Make BOM levels integers 2020-08-17 10:39:35 +10:00
Oliver
b5b882d3b6
Merge pull request #906 from SchrodingersGat/blabel
Label Printing Functionality
2020-08-16 14:02:38 +10:00
Oliver Walters
a4267f76e8 Fixes for barcode data rendering 2020-08-16 13:39:05 +10:00
Oliver
eb2422e6be
Merge pull request #905 from SchrodingersGat/bom-depth
Allow user to set "depth" of exported multi-level BOM
2020-08-16 09:29:09 +10:00
Oliver Walters
e5406cae24 More PEP fixes 2020-08-16 09:05:16 +10:00
Oliver Walters
97103207b6 PEP fixes 2020-08-16 08:34:54 +10:00
Oliver Walters
b27ecf54d7 Allow user to set "depth" of exported multi-level BOM 2020-08-16 08:29:36 +10:00
Oliver Walters
f1373e3bea Improve speed of BomItem API queries
- Including the pricing information takes absolutely ages, takes too long!!
2020-08-15 21:52:32 +10:00
Oliver Walters
d34383e842 Specify serializer type for part category 2020-08-15 21:20:31 +10:00
Oliver Walters
19c036f50a Add migration files 2020-08-08 17:16:04 +10:00
Oliver Walters
a7ee323035 PEP fix 2020-08-08 16:59:48 +10:00
Oliver Walters
ad977d4d26 Add default ordering for Company model
- Now will sort by "name" in choice fields, etc
2020-08-08 16:54:09 +10:00
Oliver Walters
0f199556df Add migration file 2020-08-04 11:21:27 +10:00
Oliver Walters
3a266cf322 Allow default_keywords to be null 2020-08-04 11:10:24 +10:00
eeintech
f386039d5a Added validation method for uploaded file using imghdr library 2020-07-21 16:01:17 -05:00
eeintech
af70dd5dfe Allowing Part thumbnail (image) update via API 2020-07-20 16:16:26 -05:00
eeintech
3b98d85143 Merge branch 'master' of github:eeintech/InvenTree into bom_dev 2020-07-09 08:48:41 -05:00
eeintech
46586ba960 Corrected typo in part.models, simplified MakeBomTemplate function 2020-07-09 08:47:52 -05:00
eeintech
9b7977a217 API: Allow part deletion if inactive 2020-07-08 10:56:23 -05:00
Oliver
3d7676e292
Merge pull request #880 from SchrodingersGat/negative-stock-fix
Improve logic of "quantity_to_order" function
2020-06-28 19:23:37 +10:00
Oliver Walters
3d245c7ce3 Improve logic of "quantity_to_order" function 2020-06-28 19:14:51 +10:00
Oliver Walters
134a688e4a Fix filter logic for 'starred' parts 2020-06-28 19:08:13 +10:00
Oliver Walters
fa3d2d005a "Active" part toggle is always enabled 2020-06-22 11:27:59 +10:00
Oliver Walters
930f903f5d Add ability to display "out of stock" items against a part 2020-06-22 10:48:41 +10:00
Oliver Walters
2e91f64a96 Add (disabled) print-label button for Part display 2020-06-12 18:13:14 +10:00
Oliver Walters
1ad4b8b131 Reorganize buttons for "Part" view 2020-06-12 18:11:57 +10:00
Oliver Walters
09400fd66b Decimalize display of variant stock
(cherry picked from commit 6e45360c4b7a6bc91f584f498fb6e1988593db95)
2020-06-09 13:31:16 +10:00
Oliver Walters
126e42a022 Add "IPN" column to stock list table 2020-06-06 08:47:06 +10:00
Oliver Walters
16d261d956 Make description fields optional 2020-06-05 19:33:32 +10:00
Oliver Walters
a3c0d35b20 Fix for case where BOM item quantity is zero 2020-06-04 11:37:55 +10:00
Oliver Walters
5f3816212f template parts are now allowed to be variants
- Do not throw an error here!
2020-05-29 12:40:40 +10:00
Oliver Walters
9b7b65374d Use rounding decimal field in BomItem form 2020-05-27 10:33:47 +10:00
Oliver Walters
7bcf9bf5be Allow template parts to be specified for the BOM item 2020-05-27 10:06:18 +10:00
Oliver Walters
78990a99e5 Fix serializer for stock item 2020-05-26 23:01:30 +10:00
Oliver Walters
e128410d54 Update 'required' status for new serializers
(cherry picked from commit 2306e29743eb25266c78bec5357d1194e0778c58)
2020-05-26 20:29:09 +10:00
Oliver Walters
81e38eeb14 Add some more custom FileField serializers
(cherry picked from commit 7b9ff27baefacc977fef7852e99d8a9bb46a062a)
2020-05-26 20:29:04 +10:00
Oliver Walters
47a4ab2ed8 Template changes 2020-05-26 11:38:17 +10:00
Oliver Walters
27ca84fd2a Part view shows next available serial number 2020-05-26 11:34:11 +10:00
Oliver Walters
009adaf528 Code to get and test for variants of a part 2020-05-25 13:13:28 +10:00
Oliver Walters
68b9a690f2 Integer value required for trackable bom item 2020-05-24 20:22:15 +10:00
Oliver Walters
01481ef5c9 Add function to get the number of required tests for a part 2020-05-23 14:28:25 +10:00
Oliver Walters
4bd0872b2c Expose some more stock item data over API 2020-05-22 23:33:27 +10:00
Oliver Walters
71681bfda1 Add a button if a stock item test report is available 2020-05-22 21:38:05 +10:00
Oliver Walters
1ad7e699a9 PEP 2020-05-22 21:31:21 +10:00
Oliver Walters
0ec880290b Functionality for retrieving test templates associated with a given part 2020-05-22 21:29:58 +10:00
Oliver Walters
2f6d03388d Add serializer / table display 2020-05-18 19:15:40 +10:00
Oliver Walters
fc6cad475a Add validation for StockItemTestResult based on the matching PartTestTemplate 2020-05-18 19:11:43 +10:00
Oliver Walters
e8c402ecd9 Add some more fields to the PartTestTemplate model 2020-05-18 19:00:45 +10:00
Oliver Walters
1cc0977816 Display testing status for a stock item 2020-05-17 22:33:41 +10:00
Oliver Walters
6cb017bbfd Add functions to test if a stock item has passed all tests 2020-05-17 22:03:55 +10:00
Oliver Walters
b9799e1824 Add some more part slidies 2020-05-17 17:05:04 +10:00
Oliver Walters
e30f6ec374 Add forms / views for creating / editing / deleting test templates 2020-05-17 16:50:34 +10:00
Oliver Walters
e9ed50fc4b Add table displaying part test templates 2020-05-17 16:07:55 +10:00
Oliver Walters
66f2c01d5d Add (empty) page for displaying part test templates 2020-05-17 14:26:53 +10:00
Oliver Walters
bc8b3a68f0 Fixes for unit testing 2020-05-17 14:17:55 +10:00
Oliver Walters
69c748d018 PEP fix 2020-05-17 14:15:13 +10:00
Oliver Walters
95d07cd02b Add unit testing for new API features 2020-05-17 14:14:54 +10:00
Oliver Walters
4d992ea528 Expose test templates to the API 2020-05-17 13:56:49 +10:00
Oliver Walters
f791ac9f57 Register test template in the admin interface 2020-05-17 13:50:06 +10:00
Oliver Walters
badf9230a9 Add fixtures / unit testing for the stock item testing framework 2020-05-17 13:46:19 +10:00
Oliver Walters
8c8b704e38 Add PartTestTemplate model 2020-05-17 13:26:51 +10:00
Oliver Walters
8a99062704 PEP fixes 2020-05-16 17:52:25 +10:00
Oliver Walters
3d0bea15ae Refactor function naming 2020-05-16 12:03:18 +10:00
Oliver Walters
4cb97b1340 Add some more form candy 2020-05-16 11:55:10 +10:00
Oliver Walters
10762fc1cf Refactor tractor 2020-05-16 08:55:19 +10:00
Oliver Walters
ea88a03b5a More serial number validation and unit testing
-
2020-05-16 08:43:57 +10:00
Oliver Walters
2d6c531fda Unit testing for part variant MPTT 2020-05-15 22:01:21 +10:00
Oliver Walters
0652579312 Update fixture for part model to match MPTT requirements 2020-05-15 21:44:25 +10:00
Oliver Walters
0a78432a0f Convert 'part" to MPTT model - based on the 'variant_of' field
- Now recursive variants can be implemented properly
2020-05-15 21:35:53 +10:00
Oliver Walters
30b5f7d507 Drag and drop for order attachments 2020-05-13 11:28:45 +10:00
Oliver Walters
db01f3646a Enable drag-and-drop attachment upload for Part 2020-05-13 11:13:26 +10:00
Oliver Walters
f5b97da5d2 Refactor "attachment" table into template 2020-05-12 22:05:38 +10:00
Oliver Walters
366d4b2143 Add new attechment functionality to new models
- Giving the ol' refactor tractor a fresh coat of paint
2020-05-12 21:40:42 +10:00
Oliver Walters
2369b40bbf Ensure user gets saved when uploading attachment via API 2020-05-12 21:11:38 +10:00
Oliver Walters
5d716d0cdd Add "upload date" field to fileattachment base class 2020-05-12 20:57:41 +10:00
Oliver Walters
d4fa7d936e Add 'user' field to attachment 2020-05-12 20:50:03 +10:00
Oliver Walters
cfc0145180 Add some unit tests 2020-05-11 23:44:22 +10:00
Oliver Walters
a7e5a79f4c Expose salesorder and purchaseorder attachments to the API 2020-05-11 23:41:57 +10:00
Oliver Walters
17d0a015f2 Add API endpoint for StockItem attachment items 2020-05-11 23:32:40 +10:00
Oliver Walters
f36c5137dd Add ability to add part file attachments via the API 2020-05-11 23:25:55 +10:00
Oliver Walters
14132a6efa Add views / models / etc etc to support StockItem attachment 2020-05-07 09:57:54 +10:00
Oliver Walters
6318b0bddf Hide a silly button which does nothing 2020-05-04 19:51:06 +10:00
Oliver Walters
0933cf859c Add "new manufacturer" button 2020-05-04 19:48:09 +10:00
Oliver Walters
7430abc237 Add ability to set stock status when receiving goods 2020-05-03 09:50:00 +10:00
Oliver Walters
b39283a18f Separate allocation counters 2020-05-02 20:29:20 +10:00
Oliver Walters
0199760e1c Bug fix 2020-05-02 20:10:12 +10:00
Oliver Walters
cc11df917e Part list API adjustments 2020-05-02 14:03:17 +10:00
Oliver Walters
7fca496de8 Bug fix for StockItem list API
- The wrong detail data was being set
2020-05-02 13:51:29 +10:00
Oliver Walters
4197e29fce Major major major (improvements for StockItem list API)
OK LISTEN UP - Lots of work went into making this speedier:

- For related detail fields (e.g. part_detail), we pre-fetch and cache the model data
- This eliminates duplicate database hits for the same model instances
- Perform all field filtering manually, rather than using the DRF 'filter_fields' concept (this seems to add a lot of overhead)
- Use query annotations to getch calculated fields rather than fetching one-at-a-time
- And finally, if the request is AJAX then return a JsonResponse which is SO FREAKING MUCH FASTER
2020-05-02 13:46:19 +10:00
Oliver Walters
44319d24e4 Custom list serializer for 'location_detail' 2020-05-02 10:05:35 +10:00
Oliver Walters
a537b6df6e PEP fixes 2020-05-02 09:50:18 +10:00
Oliver Walters
4a60da67fd Significant increase in query speed for Part list
- Custom list method
- Cache PartCategory objects in memory
2020-05-02 09:49:05 +10:00
Oliver Walters
a345e0e8da Removed unused serializer field 2020-04-28 23:26:27 +10:00
Oliver Walters
3b42b5e27e Typo fix for part api 2020-04-28 23:17:59 +10:00
Oliver Walters
087001f29d Fix BOM table rendering
- Price was not being sent in the PartBriefSerializer!
2020-04-28 23:17:15 +10:00
Oliver Walters
df218a5193 Fix rendering of "used in" page 2020-04-28 22:57:18 +10:00
Oliver Walters
9add3d4409 Much better rendering and calculation of part allocations 2020-04-28 10:43:46 +10:00
Oliver Walters
fb70da0331 Cleanup part allocation calculation functions 2020-04-28 10:35:19 +10:00
Oliver Walters
6bdf371490 Moar UI and translation string fixes 2020-04-28 09:41:47 +10:00
Oliver Walters
440fe155ff Change glyphicons for fontawesome
I think I gottem all
2020-04-28 09:31:51 +10:00
Oliver Walters
4fd7b24e3c Update buttons for part BOM view 2020-04-28 08:36:13 +10:00
Oliver Walters
394a9208a1 Merge remote-tracking branch 'inventree/master' into sales-order
# Conflicts:
#	InvenTree/InvenTree/version.py
2020-04-27 22:04:05 +10:00
Oliver Walters
35f48ed899 Delete BuildItem objects once a Build has been completed
- Much more complicated template for build allocation page!
- This will require some refactoring at some point ...
2020-04-27 20:46:34 +10:00
Oliver Walters
646dd65d27 Re-enable auto-allocation for build 2020-04-27 20:05:02 +10:00
Oliver Walters
5167117067 Calculate 'fulfilled' quantity once a sales order is marked as shipped
- This allows us to delete the SalesOrderAllocation objects from the database
2020-04-27 08:58:18 +10:00
Oliver Walters
e768ada83b More work
- Consolidated "in_stock" filter to single code location
- Improve 'limit_choices_to' for BuildItem and SalesOrderAllocation
- Various template improvements etc
2020-04-26 16:38:29 +10:00
Oliver Walters
4147163418 Improve status code label rendering 2020-04-26 15:29:21 +10:00
Oliver Walters
1f4bd95d75 Remove the problematic migration entirely
- The thumbnail check code is run every time the server is started anyway!
2020-04-26 08:50:37 +10:00
Oliver Walters
72c43d0c2d Bug fix for build completion form 2020-04-25 23:59:28 +10:00
Oliver Walters
b0891c921c Working towards better build allocation:
- Improve data serialization in API
- Javascript bug fixes
- Load the build allocation table using jQuery
2020-04-25 21:13:38 +10:00
Oliver Walters
2f0bbecc3d Refactored status code label generation
- Larger style available
2020-04-25 15:13:55 +10:00
Oliver Walters
429bb688d0 Template fixes 2020-04-24 13:03:38 +10:00
Oliver Walters
9d25ed335c Rebuild the "PurchaseOrder" detail
- Use AJAX and bootstrap-table
- Display progress bar
2020-04-24 12:52:08 +10:00
Oliver Walters
b45fec221c Expose more status code data to the templates
- Status codes are now exposed globally to every page
- Much simplified so wow
- https://stackoverflow.com/questions/3221592/how-to-pass-common-dictionary-data-to-every-page-in-django
2020-04-24 09:27:42 +10:00
Oliver Walters
2c9b112562 PEP fixes 2020-04-23 21:48:39 +10:00
Oliver Walters
e5fa94b4f8 Add functionality to cancel a sales order 2020-04-23 21:38:40 +10:00
Oliver Walters
435c13cf7c Separate concept of "OrderStatus" into "SalesOrderStatus" and "PurchaseOrderStatus" 2020-04-23 20:38:09 +10:00
Oliver Walters
7f020cbbf6 Enbiggen a whole lotta buttons 2020-04-23 19:41:14 +10:00
Oliver Walters
b75c343236 Add action buttons to the sales order page 2020-04-21 22:02:17 +10:00
Oliver Walters
4979c690d9 Prevent BOM price calculation from becoming too recursive 2020-04-21 21:38:22 +10:00
Oliver Walters
cb636e000d Display a sub-list of stock items which are allocated to a SalseOrderLineItem 2020-04-21 21:38:04 +10:00
Oliver Walters
7385099194 Add a model to map multiple StockItem objects to a single SalesOrderLineItem 2020-04-21 10:14:55 +10:00
Oliver Walters
3d2e907d5e Add a 'sales order' view for each part 2020-04-21 09:15:01 +10:00
Oliver Walters
9e4d09343c Add ability to filter parts list by "salable" status 2020-04-20 22:39:00 +10:00
Oliver Walters
fee6246a8f PEP fix 2020-04-20 08:25:24 +10:00
Oliver Walters
ef66a3b8f3 Make PartDetail view same as PartList view 2020-04-20 08:10:59 +10:00
Oliver Walters
f5c86bc457 "Fix" for unit tests
- Not working in travis for some reason?
- But they are working locally...
2020-04-20 01:23:05 +10:00
Oliver Walters
57fa69f6e6 Update version
- Display django version in "about" dialog
2020-04-20 01:20:09 +10:00
Oliver Walters
0334035e77 Simplify StockItem serializer
- Some more work needed here to cut down on database hits
2020-04-20 01:09:37 +10:00
Oliver Walters
6a89e0089d Updates for stock serializer 2020-04-20 00:49:13 +10:00
Oliver Walters
092215918c PEP fixes 2020-04-19 23:56:16 +10:00
Oliver Walters
2621c51a7e Further API cleanup
- Perform a single call to get starred parts for current user and record results
- This provides significant speed improvements
- Remove old manual serializer
- More data prefetching
2020-04-19 23:50:41 +10:00
Oliver Walters
69b8eed028 Fixes for aggregation issues
- Ensure that "distinct=True" is set!
- ARRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
2020-04-19 22:54:46 +10:00
Oliver Walters
37fcb810e4 Add error checking for thumbnail file migration 2020-04-17 19:23:43 +10:00
Oliver
cf5af4dc77
Merge pull request #722 from SchrodingersGat/barcode
Create simple endpoint for barcode decode
2020-04-16 21:55:24 +10:00
Oliver Walters
7ab58f683f Fix search result tables 2020-04-16 21:33:35 +10:00
Oliver Walters
10ee8bc666 Use existing serializers to encode information for barcode response 2020-04-15 23:41:16 +10:00
Oliver Walters
4a615e05ae Further barcode work
- Simplify InvenTree barcode format
- Create base-clas for plugin
2020-04-14 21:30:43 +10:00
Oliver Walters
7c9eb90bea URL fix 2020-04-14 08:25:10 +10:00
Oliver Walters
0e55911a6b Index page rendering is now a lot faster
- Hide some elements which are currently very expensive to compute
-
2020-04-13 22:07:14 +10:00
Oliver Walters
124fab3eee Display a part as 'starred' in the part table 2020-04-13 21:30:17 +10:00
Oliver Walters
b850beb687 Add ability to filter by 'starred' status 2020-04-13 21:24:36 +10:00
Oliver Walters
c17c014b33 More cleanup
- Allow user filtering for purchase-order table in part view
- Remove some debug strings

(cherry picked from commit ea466c3588)
2020-04-13 20:21:13 +10:00
Oliver Walters
307dd25f87 Fixes for unit testing
(cherry picked from commit eb3b5308ab)
2020-04-13 20:21:08 +10:00
Oliver Walters
8c55831321 Fix supplier-part-table for Part view
(cherry picked from commit 2839f94773)
2020-04-13 20:21:00 +10:00
Oliver Walters
5e2ed06c2d Add some more translations 2020-04-12 01:00:49 +10:00
Oliver Walters
3c46e12839 Further work on decimal rounding
- Prevent numbers from being represented in scientific notation
2020-04-12 00:56:15 +10:00
Oliver Walters
f1f27f08cb Add icons to part base 2020-04-12 00:40:48 +10:00
Oliver Walters
fd8273e3e2 Improve build base rendering
- Consolidate style
- Fix rendering of part pricing
2020-04-12 00:31:59 +10:00
Oliver Walters
a65c80dbf3 Small fixes here and there 2020-04-12 00:20:29 +10:00
Oliver Walters
7503596ea4 More fixes
- Add a set of template tags for rendering status codes
- Improve build API filtering
- Remove some outdated files
- Fix unit testing
2020-04-12 00:10:33 +10:00
Oliver Walters
de6f2d37e5 Coalesce baby, yeah! 2020-04-11 23:05:07 +10:00
Oliver Walters
2560613e36 Update API docstring 2020-04-11 23:03:03 +10:00
Oliver Walters
f5a8b110b5 Filter part table by 'is_component' status 2020-04-11 23:02:18 +10:00
Oliver Walters
e1c6ad7761 Logic fix for part filtering 2020-04-11 22:57:16 +10:00
Oliver Walters
e86bc4fa6d Add ability to filter parts by "low_stock"
- Huzzah for the "Coalesce" function, eh?
2020-04-11 22:43:51 +10:00
Oliver Walters
5e706554b1 Part table filtering
- Filter by active status
- Filter by 'is_template' status
- Filter by 'has_stock'
- Allow cascading sublocations
- API improvements to allow new features
2020-04-11 22:10:15 +10:00
Oliver Walters
64f8034a4c Many more refactoring 2020-04-11 14:14:45 +10:00
Oliver Walters
c1b59eeaab Render filter options as a template
- This allows the values to be seen by the translation layer
- Also means that whenever a new option is added, it will be automatically available to the front-end!
2020-04-11 13:24:23 +10:00
Oliver Walters
d06018cbbe PEP fixes 2020-04-07 11:40:10 +10:00
Oliver Walters
95032141ce Toot toot! It's the refactor tractor.
- Create helper functions to qualify media and static files
2020-04-07 11:38:57 +10:00
Oliver Walters
e0655f61d8 Check if Company thumbnails are created on Company app start 2020-04-07 11:23:30 +10:00
Oliver Walters
16d3a87e78 Delete old code 2020-04-07 08:12:10 +10:00
Oliver Walters
7fb89e4dbe Check for missing part thumbnails when the server first runs 2020-04-07 08:08:54 +10:00
Oliver Walters
3eb585df27 fixes for unit testing 2020-04-06 21:01:24 +10:00
Oliver Walters
44c10c45cd visual consolidation 2020-04-06 20:50:33 +10:00
Oliver Walters
751937e0c2 Use InstanceName around the place
- Report in /api/ endpoint
- Display in About window
- Include in any generated barcode
2020-04-06 20:11:36 +10:00
Oliver Walters
92cb7211ce Rename 'image_url' to 'thumbnail' in PartBrief API 2020-04-06 12:57:04 +10:00
Oliver Walters
789712acbe Rename Build.URL -> Build.link 2020-04-06 11:28:35 +10:00
Oliver Walters
b28487760a Rename Part.URL -> part.link
- Previous migration needed some tweaking to get it to run... because.. why?
- It seems to pass when running manage.py migrate but fails when running manage.py test
- Stumped on this one
2020-04-06 11:16:39 +10:00
Oliver Walters
791eb63f35 Same fix for Part API 2020-04-05 22:59:45 +10:00
Oliver Walters
84b1960c7b Moar icons plz 2020-04-05 20:49:05 +10:00
Oliver Walters
7b494c08ec Translations 2020-04-05 20:40:46 +10:00
Oliver Walters
c170d3f87a More icons 2020-04-05 20:40:41 +10:00
Oliver Walters
c427f173ed Nav link icon improvements 2020-04-05 20:04:12 +10:00
Oliver Walters
d739c2dea8 "URL" is renamed to "link" in the URL 2020-04-05 19:18:32 +10:00
Oliver Walters
511cdef323 Peppy fix 2020-04-05 15:59:48 +10:00
Oliver Walters
91b5911ff2 Add 'notes' field to Part detail API 2020-04-05 15:46:18 +10:00
Oliver Walters
1f172b3a57 Add 'bom_items' and 'used_in' to Part detail API 2020-04-05 15:39:55 +10:00
Oliver Walters
b4d66c6797 Add 'building' count to Part detail API 2020-04-05 15:29:31 +10:00
Oliver Walters
8b61acb048 PEP fixes 2020-04-05 00:38:25 +11:00
Oliver Walters
0cfb293ca9 List API now uses the thumbnail image 2020-04-05 00:19:37 +11:00
Oliver Walters
afa31b3415 Generate thumbnails for any part images existing in the database 2020-04-05 00:19:05 +11:00
Oliver Walters
aee0970e49 Part image field now uses django-stdimage 2020-04-04 15:47:05 +11:00
Oliver Walters
b25df586cd Fix API tets 2020-04-03 12:30:58 +11:00
Oliver Walters
f5150f549a Part API changes
- Allow filtering parts with null parent (top-level category parts)
- Option to include sub-category parts or not
2020-04-03 09:37:03 +11:00
Oliver Walters
6e65a736e7 Add isNull function to query against null keys 2020-04-03 09:31:26 +11:00
Oliver Walters
d17056820b Allow PartCategory filtering by null parent 2020-04-03 09:25:58 +11:00
Oliver Walters
7e8664a4dd Include "parts" count in Category API 2020-04-03 09:15:09 +11:00
Oliver Walters
34c097c46a Display proper build status label 2020-03-30 16:48:14 +11:00
Oliver Walters
5aec3df7c9 Add stock-info labels to Part info page 2020-03-30 13:37:34 +11:00
Oliver Walters
e8e0ab8416 Include 'minimum_stock' information in part list api 2020-03-30 13:21:33 +11:00
Oliver Walters
713d7960a8 Fix on_order calculation
- Take into account the number "received"
- Also fix unit tests
2020-03-26 17:56:44 +11:00
Oliver Walters
6a78f6d451 Include quantity currently being build in Part API 2020-03-26 17:43:02 +11:00
Oliver Walters
41bbbdcd43 Improve query speed when calculating how many parts are on order 2020-03-26 17:31:59 +11:00
Oliver Walters
57123283f4 Better filtering of annotations for Part-list API 2020-03-26 17:08:01 +11:00
Oliver Walters
dae45875fb Add 'on_order' quantity to the part list API 2020-03-26 14:46:23 +11:00
maxbachmann
b162c97226
use rapidfuzz instead of fuzzywuzzy 2020-03-22 22:31:15 +01:00
Oliver Walters
4a259dc146 Can now successfully edit or delete a purchase-order attachment 2020-03-22 19:55:46 +11:00
Oliver Walters
834f80698b Create a new attachment against a PurchaseOrder 2020-03-22 18:41:41 +11:00
Oliver Walters
56a6943438 Add an 'attachment' page for the PurchaseOrder view 2020-03-22 18:13:34 +11:00
Oliver Walters
a661d7e1a6 Abstract the PartAttachment class
Now "Attachments" are much easier to implement for different models
2020-03-22 17:59:23 +11:00
Oliver Walters
5207b2ba21 Add build status label to part detail 2020-03-19 10:20:09 +11:00
Oliver Walters
15bc457714 Improve calculation of BOM item overage 2020-03-19 10:15:43 +11:00
Oliver Walters
d51ac2f5c2 Save creation user when making a new part via the API 2020-03-18 22:00:32 +11:00
Oliver Walters
a147ce4284 Save the current user when creating a new part 2020-03-18 21:53:02 +11:00
Oliver Walters
8186e4bab0 Display creation information in part detail page 2020-03-18 21:50:38 +11:00
Oliver Walters
2b08b0f2b9 Add new fields for Part object
- Creation date
- Creation user
- Responsible user
2020-03-18 21:50:18 +11:00
Oliver Walters
8eaaf62eda Limit choices for Part selection
Based on is_template / virtual / active status
2020-03-18 21:28:11 +11:00
Oliver Walters
c04aa1bff7 Increase unit testing for BOM item model 2020-03-18 21:04:37 +11:00
Oliver Walters
3b9f57fc80 Bug fix - Multiplying float by decimal
- Overage percentage now uses explicit decimal multiplication
2020-03-18 20:44:45 +11:00
Oliver Walters
4a2fa36e30 Allow 'notes' field in Part object to be blank 2020-02-23 20:02:33 +11:00
Oliver Walters
33d21594da Create new stock item from supplierpart stock page
- Allow stock-item-create form to have supplierpart passed as initial data
- Add some translations too
2020-02-12 11:32:01 +11:00
Oliver Walters
50fee1bfe5 More work on translations 2020-02-12 10:25:46 +11:00
Oliver Walters
28e9d842bf Small tweaks for BOM export
- Steps towards preventing circular BOMs
- Improve formatting of exported BOM
2020-02-12 10:18:20 +11:00
Oliver Walters
d04fb0d826 Use decimal2string instead of normalize 2020-02-12 10:08:35 +11:00
Oliver Walters
520b8d7b2b Fix for BOM pricing weirdness 2020-02-12 10:06:17 +11:00
Oliver Walters
c287a0a0b9 More rounding improvements 2020-02-12 08:22:55 +11:00
Oliver Walters
5ae7ca71d7 Improve number rendering of build allocation page 2020-02-12 08:12:26 +11:00
Oliver Walters
882bda46b4 Fix tests 2020-02-11 22:38:50 +11:00
Oliver Walters
f865573e48 Implement cascading export of BOM 2020-02-11 22:32:36 +11:00
Oliver Walters
434d084371 Provide form for user to select export options 2020-02-11 21:43:17 +11:00
Oliver Walters
55aa63dab4 Override save() method for Part model
- Delete old thumbnails if they are no longer being used
2020-02-11 20:27:06 +11:00
Oliver Walters
77c950a729 Fixed unit tests 2020-02-11 00:39:02 +11:00
Oliver Walters
dee47bdea8 Prevent django_cleanup from deleting part thumbs that are used elsewhere
- Will need to implement a method for automatically deleting part thumbs...
2020-02-11 00:29:29 +11:00
Oliver Walters
8ea1086b03 Make thumb buttons only visible on mouseover 2020-02-11 00:28:46 +11:00
Oliver Walters
e0e996a6c3 Add buttons to select or upload part images 2020-02-11 00:00:03 +11:00
Oliver Walters
d4fe83170f Select existing image and upload successfully 2020-02-10 23:48:45 +11:00
Oliver Walters
725eb3c538 Do not duplicate images when copying a part
- Simply reference the existing image
2020-02-10 23:04:58 +11:00
Oliver Walters
17c10da10e Display existing images in a form 2020-02-10 22:57:36 +11:00
Oliver Walters
a82e219336 Add translatable strings for part views 2020-02-10 22:10:06 +11:00
Oliver Walters
1327c1d3b1 Add API endpoint for querying part images 2020-02-10 22:03:06 +11:00
Oliver Walters
d059aff4f8 Use the part_deep_copy setting to set the default deep_copy value when duplicating a part 2020-02-03 21:14:06 +11:00
Oliver Walters
9cef038d6a IPN must match regex validator (if one is provided) 2020-02-03 21:09:24 +11:00
Oliver Walters
356b6cf15b Load default settings on InvenTree launch 2020-02-03 20:51:53 +11:00
Oliver Walters
5264f816f1 Allow PartCategory and StocKLocation names to be non-unique
- As long as they are unique in the current tree level
2020-02-02 21:40:03 +11:00
Oliver Walters
20273f1541 Add commit date information to about window 2020-02-02 12:39:35 +11:00
Oliver Walters
f88f5a39f8 Visual fix for allocation tab 2020-02-02 12:16:31 +11:00
Oliver Walters
0f92468462 Add icon to signify if notes exist 2020-02-02 11:48:43 +11:00
Oliver Walters
51fab36074 Display / editing for Company notes field
- Also includes some translation updates
2020-02-01 23:45:28 +11:00
Oliver Walters
1f71a93d88 Fix page formatting 2020-02-01 23:26:54 +11:00
Oliver Walters
88ec40e454 Fix success_url for notes form 2020-02-01 22:25:35 +11:00
Oliver Walters
b9dda51378 Side-by-side live editing for markdown 2020-02-01 14:40:11 +11:00
Oliver Walters
3c3ae43c18 Add special view for displaying / editing notes field for part 2020-02-01 13:36:09 +11:00
Oliver Walters
c546ed5dcd Update requirements
- Use markdownify for rendering
- Use markdownx for editing
2020-01-31 21:42:30 +11:00
Oliver Walters
da01177d23 Blank 'notes' page for Part model 2020-01-31 20:38:29 +11:00
Oliver Walters
aa2f63830e Translation template for part attachments page 2020-01-31 20:37:54 +11:00
Oliver Walters
596d06cf1a Add a markdown editor for the 'Notes" field of Part model
https://github.com/timmyomahony/django-pagedown
2020-01-31 20:28:54 +11:00
Oliver Walters
bd653f2c49 Some more unit tests 2020-01-07 21:16:01 +11:00
Oliver Walters
71c1faf9ff Use the client-side PO table in more places 2019-12-09 21:55:00 +11:00
Oliver Walters
5e9b012031 Bug fix for static lookup of blank image 2019-12-09 20:40:04 +11:00
Oliver Walters
1a6f06cceb normalize decimal fields 2019-12-06 22:40:27 +11:00
Oliver
9946fbda17
Merge pull request #585 from SchrodingersGat/tweaks
Reload page after ordering parts
2019-12-05 14:28:34 +11:00
Oliver Walters
98374ca466 Update to more recent libraries
- Specify exact module versions
2019-12-05 14:12:05 +11:00
Oliver Walters
cbdea9f18c Reload page after ordering parts 2019-11-29 20:37:34 +11:00
Oliver Walters
9da8189899 Allow non-integer stock movement 2019-11-19 10:17:20 +11:00
Oliver Walters
e4bfe43c04 More rendering improvements 2019-11-19 10:10:23 +11:00
Oliver Walters
20755a6dac Rendering of decimal value on stockitem page 2019-11-19 09:10:47 +11:00
Oliver Walters
6e90ac367e Massaging unit tests
- Decimal fields are useful but VERY ANNOYING to use
- Needed to fix some test cases
2019-11-19 08:59:56 +11:00
Oliver Walters
400941c10f Change item quantity field from PositiveInteger to Decimal
- Allow 'partial' quantity e.g. '0.45kg'
- Need to change some maths functions as Decimal type is pernickity
2019-11-19 08:49:54 +11:00
Oliver Walters
5ffbfe8eb8 Add translation strings for part models 2019-11-19 08:42:10 +11:00
Oliver Walters
871b853b9f Single form to delete single or multiple SupplierPart objects 2019-09-30 13:28:51 +10:00
Oliver Walters
b870728125 Add translation hooks for part detail template 2019-09-27 10:12:46 +10:00
Oliver Walters
427f47310b Add detail pane to top-level part view 2019-09-27 10:04:20 +10:00
Oliver Walters
ae2e2f36e4 Update a bunch more tables 2019-09-22 22:18:53 +10:00
Oliver Walters
5a9e5dea20 Add sub-category and part count 2019-09-20 00:00:34 +10:00
Oliver Walters
508a3fc35c Improve display of part category page 2019-09-19 23:59:01 +10:00
Oliver Walters
b3ea2bfb9a Update badges 2019-09-19 23:38:15 +10:00
Oliver Walters
3c98cd87a7 Use localStorage rather than sessionStorage for storing user prefs
- Also create some helper functions
2019-09-19 23:29:03 +10:00
Oliver Walters
cf2abb4130 Add option to display ALL results in a paginated table
- Commonize the number of pages allowed
2019-09-19 23:20:42 +10:00
Oliver Walters
a77fd23fcf Add a reminder for future-self 2019-09-17 20:19:27 +10:00
Oliver Walters
c5a82f4b6e Simplifty PartPriceInfo field 2019-09-17 20:17:25 +10:00
Oliver Walters
774872e6a6 Make function atomic 2019-09-17 14:17:49 +10:00
Oliver Walters
08f958dd72 Add form for setting part category 2019-09-17 14:06:11 +10:00
Oliver Walters
94cd28ecb9 Add ability so set category for multiple parts at once 2019-09-17 13:49:57 +10:00
Oliver Walters
b5b7dc0fbf Fix tests 2019-09-17 12:29:18 +10:00
Oliver Walters
d40fc59616 Reload page after ordering part 2019-09-17 10:34:41 +10:00
Oliver Walters
a9d1cadc12 Add link to documentation 2019-09-17 00:41:28 +10:00
Oliver Walters
7f5aba423a Export full_name for parts 2019-09-15 22:23:28 +10:00
Oliver Walters
db04f399c1 Simplify exporting of BOM for a part 2019-09-15 22:21:12 +10:00
Oliver Walters
204cd967aa Include status label text when exporting stocktake data 2019-09-15 20:14:27 +10:00
Oliver Walters
03043e67c7 Perform full validation when importing data 2019-09-15 19:58:05 +10:00
Oliver Walters
2d17f957f1 Remove code duplication for part data export 2019-09-15 19:52:28 +10:00
Oliver Walters
2bc97764c7 Allow more file formats for BOM import 2019-09-15 19:45:59 +10:00
Oliver Walters
4ac8353099 Create a custom URL field, which allows the user-specified validators
- Ref: https://stackoverflow.com/questions/41756572/django-urlfield-with-custom-scheme
- Apply this to the URL field in the Part model
2019-09-14 00:04:08 +10:00
Oliver Walters
8578a3b8d1 Add searching to other admin views 2019-09-13 23:32:49 +10:00
Oliver Walters
9b1d0bee3b Add filtering and searching to Part admin 2019-09-13 23:27:22 +10:00
Oliver Walters
6a19e94feb Include some extra calculated fields for Part export (readonly) 2019-09-13 23:15:34 +10:00
Oliver Walters
23b814569a Manager for importing StockLocation data 2019-09-13 22:44:50 +10:00
Oliver Walters
37ab3d214d Import/export management for the Company app
- Company
- SupplierPart
- SupplierPriceBreak
2019-09-13 22:39:15 +10:00
Oliver Walters
c579854e89 Export 'default_supplier' field 2019-09-13 22:29:11 +10:00
Oliver Walters
2bc34853e2 import/export manager for PartParameter 2019-09-13 22:27:32 +10:00
Oliver Walters
c469e48f26 Data manager for BomItem 2019-09-13 22:23:40 +10:00
Oliver Walters
bacd70687d Management class for PartCategory import / export 2019-09-13 22:20:08 +10:00
Oliver Walters
89acc778f5 Skip unchanged lines for matching ID values 2019-09-13 22:11:31 +10:00
Oliver Walters
ac36048230 Improve import/export of Part
- Can now import part data
- Either UPDATE existing rows, or CREATE new ones
2019-09-13 22:08:31 +10:00
Oliver Walters
8a68313e5e Customize admin export of Part object 2019-09-13 21:39:37 +10:00
Oliver Walters
567826165c Improve BomItem editing form
- Don't allow duplication of an item already in the BOM
- Remove the parent part from the BOM
2019-09-13 16:26:44 +10:00
Oliver Walters
8716281f7e Add unit test for invalid characters 2019-09-13 11:15:54 +10:00
Oliver Walters
61d2ce67ef Hide dropdown-menu for functionality that does not yet exist 2019-09-12 22:01:18 +10:00
Oliver Walters
4dc7da41b9 pepper 2019-09-09 20:02:52 +10:00
Oliver Walters
ddb041fe44 Filter by category too 2019-09-09 19:59:56 +10:00
Oliver Walters
776fc8b1e5 Add 'used_in' count to part export 2019-09-09 19:37:59 +10:00
Oliver Walters
8723a6c219 Add 'purchaseable' field to part export 2019-09-09 19:10:57 +10:00
Oliver Walters
fff42e7dbb Export stock based on part 2019-09-08 23:58:40 +10:00
Oliver Walters
e4fc44c135 More test 2019-09-08 20:36:51 +10:00
Oliver Walters
2a203be5cc Tests for part parameters 2019-09-08 20:18:21 +10:00
Oliver Walters
dac61eafa2 Fixed tests
- Tree classes now need extra configuration in the fixture
- Check for null pk when cleaning a tree node
2019-09-08 19:41:54 +10:00
Oliver Walters
a5189b8f3f Replace a recursive function 2019-09-08 19:28:40 +10:00
Oliver Walters
0d6a3d3b28 BOM table now refreshes the table rather than the page 2019-09-08 19:24:47 +10:00
Oliver Walters
3eb3c43e5c Change foreign keys to TreeForeignKey 2019-09-08 19:19:39 +10:00
Oliver Walters
678157aac4 Update StockLocation and PartCategory models
- Use the MPTT functionality once more
2019-09-08 19:13:13 +10:00
Oliver Walters
2f11fccb73 Migrate InvenTreeTree to using MPTT model 2019-09-08 14:08:49 +10:00
Oliver Walters
c45fcb45cf Delete a part parameter template from the settings view 2019-09-07 20:30:51 +10:00
Oliver Walters
42ade0e0b7 Edit part parameter template from settings view 2019-09-07 20:28:38 +10:00
Oliver Walters
67ea0fa887 Create a new part parameter template 2019-09-07 19:53:47 +10:00
Oliver Walters
f415e2040e API endpoint for PartParameter and PartParameterTemplate 2019-09-07 19:44:10 +10:00
Oliver Walters
13270617b9 Ensure PartParameterTemplate name is unique 2019-09-07 19:43:41 +10:00
Oliver Walters
9c864aa619 Hide the 'sellable' tag for now
- Keep hidden until parts can actually be sold
2019-09-07 10:51:39 +10:00
Oliver Walters
dac1264878 Fixed unit tests 2019-09-06 12:48:31 +10:00
Oliver Walters
38b88e44bd Bug fix 2019-09-05 20:22:47 +10:00
Oliver Walters
37d9c59a0e Add API endpoint for validating a BOM item 2019-09-05 19:29:51 +10:00
Oliver Walters
1ea7bdf843 Add a note 2019-09-05 13:12:49 +10:00
Oliver Walters
0508c2dcaf Use the hash for each line item to calculate the total BOM hash 2019-09-05 13:10:26 +10:00
Oliver Walters
7671eb2b22 Add a checksum field to the bom line item 2019-09-05 12:58:11 +10:00
Oliver Walters
e903c1858f PEP 2019-09-03 22:45:45 +10:00
Oliver Walters
20b37a2d11 Test fixes 2019-09-03 22:45:11 +10:00
Oliver Walters
41806089e3 Select the default currency if one is not specifically selected 2019-09-03 22:33:50 +10:00
Oliver Walters
3682e9b5fb Display currency selection in part pricing dialog 2019-09-03 22:28:53 +10:00
Oliver Walters
7314f33d6d Add currency selection field for price calculation form 2019-09-03 22:00:43 +10:00
Oliver Walters
ef674061de Part category collapse is persistent 2019-08-29 15:50:48 +10:00
Oliver Walters
43967e302b Add ablity to serialize an existing quantity of stock
- Do not have to serialize all the stock
- Add tests
- Add function to copy entire stock transaction history
2019-08-28 21:12:16 +10:00
Oliver Walters
d5ad53c788 Add docstring 2019-08-28 19:44:46 +10:00
Oliver Walters
f94be40857 Style fixes 2019-08-28 19:44:02 +10:00
Oliver Walters
586a46175d Add modals for editing or deleting part parameters 2019-08-28 19:39:47 +10:00
Oliver Walters
51e4bdd821 URL / view for editing a PartParameter 2019-08-21 13:11:19 +10:00
Oliver Walters
e77aeec2ce Change to ImportExport model admin 2019-08-20 18:04:22 +10:00
Oliver Walters
9630c90924 Add buttons to edit/delete parameters 2019-08-20 18:01:20 +10:00
Oliver Walters
307a04da58 Add View/Form for creating a new PartParameterTemplate 2019-08-20 14:33:18 +10:00
Oliver Walters
15a42878db Improved view for creating a new part parameter
- Hide the Part input
- Reduce options based on parameters that already exist!
2019-08-20 14:28:15 +10:00
Oliver Walters
c68c79ea43 Create view / form / URL for PartParameter creation 2019-08-20 14:14:21 +10:00
Oliver Walters
db834802e3 Add uniqueness check for PartParameterTemplate name field
- Case insensitive
2019-08-20 13:08:06 +10:00
Oliver Walters
a228b38e5d Fix parameter lookup 2019-08-20 13:03:36 +10:00
Oliver Walters
e6819b5396 Change model - add PartParameterTemplate 2019-08-20 13:02:00 +10:00
Oliver Walters
6393ddad53 Add param tab to Part detail view 2019-08-20 12:44:00 +10:00
Oliver Walters
0955166fae Add admin interface for PartParameter 2019-08-20 12:43:23 +10:00
Oliver Walters
1cd0051316 Add page to display part parameters 2019-08-20 12:43:12 +10:00
Oliver Walters
2f6357b136 Add PartParameter table 2019-08-20 12:31:43 +10:00
Oliver Walters
6106d33732 More span / button fixes 2019-08-14 16:40:14 +10:00
Oliver Walters
6c73649687 PEP fix 2019-08-14 16:35:26 +10:00
Oliver Walters
5963f7ed01 Deleted unused form 2019-08-14 13:54:16 +10:00
Oliver Walters
f90ffcd3db Fix buttons for BOM upload form 2019-08-14 13:35:48 +10:00
Oliver Walters
bd61c89094 Tests for stock app views 2019-08-09 20:13:23 +10:00
Oliver Walters
45d5667ccc PEP fixes 2019-08-08 23:36:32 +10:00
Oliver Walters
b872a12131 Test for making part variant 2019-08-08 23:34:32 +10:00
Oliver Walters
3a87cd866c Tests for part creation
- Need more tests for POST action
2019-08-08 23:32:34 +10:00
Oliver Walters
51e4a4c006 Tests for BomItem forms 2019-08-08 23:22:26 +10:00
Oliver Walters
d6f1fe74d1 Tests for PartCategory forms 2019-08-08 23:16:03 +10:00
Oliver Walters
ab3e66d578 Test for BOM download 2019-08-08 23:10:07 +10:00
Oliver Walters
f299248063 Improve testing for part export 2019-08-08 23:06:22 +10:00
Oliver Walters
21d2c434ff Test for part export view
- Needs some more work (parts need supplier parts!)
2019-08-08 23:04:58 +10:00
Oliver Walters
afcd411358 (partial) tests for attachment forms 2019-08-08 23:00:01 +10:00
Oliver Walters
3a9494ee69 Test for Part Editing form 2019-08-08 22:50:17 +10:00
Oliver Walters
7db97f2226 Test Part QR Code view 2019-08-08 22:45:10 +10:00
Oliver Walters
a70484caff Test PartDetail view 2019-08-08 22:45:02 +10:00
Oliver Walters
f26243af97 Tests for Part index / 2019-08-08 22:19:17 +10:00
Oliver Walters
adbc4db3d5 Remove 'set part category' button (doesn't do anything) 2019-08-07 10:11:00 +10:00
Oliver Walters
4fc2a22ba6 PEP fix 2019-08-07 10:07:30 +10:00
Oliver Walters
8904733ac0 Include part stock information 2019-08-07 10:05:12 +10:00
Oliver Walters
ab0da6aaae Include more part data in export 2019-08-07 09:55:18 +10:00
Oliver Walters
dda4569f76 Export selected parts
- Select which parts to export in the table
- Export base information
- Include supplier part information
2019-08-07 09:52:49 +10:00
Oliver Walters
3dca7ba353 Include supplier information in BOM 2019-08-07 09:12:53 +10:00
Oliver Walters
e66fd956f9 Fix available stock display 2019-08-02 15:13:47 +10:00
Oliver Walters
0a328687a5 BOM hash includes reference fields 2019-08-02 11:11:28 +10:00
Oliver Walters
077ad9482e Fix display of part trackable status info 2019-07-23 11:57:33 +10:00
Oliver Walters
a42371598c Fix part deletion template
- Display list of stock items which will be thusly deleted
2019-07-23 11:55:51 +10:00
Oliver Walters
9e5eadd6c3 Set serial numbers when creating a new stock item 2019-07-23 10:31:34 +10:00
Oliver Walters
23d03d6b9b Build completion now handles unique serial numbers
Provide a method to test if a serial number matches for a given part
2019-07-22 15:55:36 +10:00
Oliver Walters
23d19d6784 Remove old debug messages 2019-07-11 23:07:52 +10:00
Oliver
1f9e6f4a68
Merge pull request #411 from SchrodingersGat/bom-upload
BOM upload
2019-07-10 15:17:58 +10:00
Oliver Walters
3e9288b26d Better display of stock availability 2019-07-10 14:50:21 +10:00
Oliver Walters
d6750652f0 Python styling fixes 2019-07-10 13:38:14 +10:00
Oliver Walters
c5e17070fb Reference and note fields cannot be None 2019-07-10 13:30:51 +10:00
Oliver Walters
8637d46981 Display inactive parts in part used_in view 2019-07-10 13:18:07 +10:00
Oliver Walters
322710d603 Handle dimension error in tablib 2019-07-10 13:04:47 +10:00
Oliver Walters
482a5dae4b Save the selected BOM data 2019-07-10 12:27:19 +10:00
Oliver Walters
c2dbc37f70 Display rows that contain errors with a reddish background 2019-07-10 12:04:24 +10:00
Oliver Walters
2e3676207e Reference and notes fields now persist too 2019-07-10 09:40:04 +10:00
Oliver Walters
99dee64f79 Pass part selection back-and-forwards between client/server 2019-07-10 09:22:38 +10:00
Oliver Walters
782d740323 Pass row quantity back to the server 2019-07-09 19:45:36 +10:00
Oliver Walters
e9eb814990 Rendering for part selection step 2019-07-09 19:21:54 +10:00
Oliver Walters
20ec36d3ea Enforce authentication for API access 2019-07-08 19:20:00 +10:00
Oliver Walters
b185abbb87 Catch case in which a request.GET is not available
(cherry picked from commit 9296c0ba0f8c4914cd04b820c6172f8c3a794750)
2019-07-08 09:41:20 +10:00
Oliver Walters
dff8d1fb95 Supply part name for auto-fill when creating a new part 2019-07-08 09:33:44 +10:00
Oliver Walters
85e803f345 Create a new part directly from the BOM view
- Pass data through to the part creation
- Populate the new part into the select dropdown
-
2019-07-07 13:06:59 +10:00
Oliver Walters
ff5af8f217 Add a button to create a new part if necessary 2019-07-07 11:56:44 +10:00
Oliver Walters
a6da3ed4a4 Match each part to the list of available parts
- Order selections based on "best" match
2019-07-07 11:44:17 +10:00
Oliver Walters
f251620917 select2ify part selection 2019-07-07 11:24:40 +10:00
Oliver Walters
bd30ac037b Generate a list of allowed BOM items and pass to the form template 2019-07-07 11:22:01 +10:00
Oliver Walters
3930651c59 Make Reference and Notes fields editable 2019-07-07 09:57:23 +10:00
Oliver Walters
b77bfc74ea Pass column and index data through to each cell in the template
Allows for much more intelligent template rendering
2019-07-07 09:50:59 +10:00
Oliver Walters
0e95fb773f Column adjustments 2019-07-07 08:48:42 +10:00
Oliver Walters
b1bcb0d3d2 Extract quantity data from BOM 2019-07-03 21:45:56 +10:00
Oliver Walters
fa90c92a2a Redirect to step 3 2019-07-03 21:19:31 +10:00
Oliver Walters
064431e94f Fix template to display list of missing BOM columns 2019-07-03 20:14:13 +10:00
Oliver Walters
29a27ce598 Improve rendering for field selection form 2019-07-03 20:08:49 +10:00
Oliver Walters
c419207420 Insert a blank <td> as needed 2019-07-02 19:48:30 +10:00
Oliver Walters
a25522746e Reposition buttons 2019-07-02 19:46:39 +10:00
Oliver Walters
c959e8f62c Add ability to remove individual rows from BOM uploader 2019-07-02 19:45:26 +10:00
Oliver Walters
fc5682f565 Form is now fully transferred to a formview 2019-07-02 19:20:45 +10:00
Oliver Walters
4008a9fb45 Upload the selected BOM file 2019-07-02 19:07:59 +10:00
Oliver Walters
802255c62d Render GET as a formview rather than ajaxview 2019-07-02 19:02:19 +10:00
Oliver Walters
3c44fcaf5b moving towards implementing bom upload as a page form rather than a modal form 2019-07-02 18:43:26 +10:00
Oliver Walters
a23595c28d Improve data importing
- Automatically prune empty rows
- prevent automatic conversion of integers to floats
2019-06-29 19:56:04 +10:00
Oliver Walters
b089a61f74 Improve rendering a bit 2019-06-29 19:48:15 +10:00
Oliver Walters
ad27d912e1 Add some optional upload fields
(These will come in handy later)
2019-06-28 20:48:23 +10:00
Oliver Walters
cfbfc6e258 Delete columns in-place using javascript 2019-06-28 20:41:45 +10:00
Oliver Walters
3c2f3c2c2c Add option to delete columns 2019-06-28 20:24:18 +10:00
Oliver Walters
54762713f3 Pass row data back through again 2019-06-28 20:21:21 +10:00
Oliver Walters
fd8ed44833 Detect duplicate columns, and missing columns 2019-06-28 20:16:17 +10:00
Oliver Walters
857a214e7d Pass the form field data back to the server 2019-06-28 19:58:56 +10:00
Oliver Walters
58336482fe POST the data back again 2019-06-28 19:48:22 +10:00
Oliver Walters
fb96651c15 Render column selection options
- Guess which header is which
2019-06-28 19:40:27 +10:00
Oliver Walters
60050e9f32 Don't restrict BomItem form to active parts for editing 2019-06-28 10:20:37 +10:00
Oliver Walters
b6a6e2dae7 Change the manner in which active parts are filtered for BOM
- Prevented BOM from displaying for an inactive part
- Now manually filter the queryset in the form view
2019-06-28 10:00:23 +10:00
Oliver Walters
ed2461adf1 Show which variants are inactive in the variant table 2019-06-28 09:43:50 +10:00
Oliver Walters
67b53d9983 PEP 2019-06-28 00:15:23 +10:00
Oliver Walters
872329c340 Fix BOM validation button 2019-06-28 00:10:24 +10:00
Oliver Walters
808d332bda Show BomItem reference field in BOM table 2019-06-27 23:57:21 +10:00
Oliver Walters
4648db6ce5 Pass file data through to the next form page 2019-06-27 23:49:01 +10:00
Oliver Walters
a9396f4c74 Fix uggo buttons 2019-06-27 23:13:12 +10:00
Oliver Walters
6af51c5b35 Limit the number of lines returned in row_count 2019-06-27 23:11:54 +10:00
Oliver Walters
c4944268f3 Count the number of rows in the BOM file 2019-06-27 23:09:06 +10:00
Oliver Walters
9813205419 Perform 'matching' on imported field names 2019-06-27 22:57:55 +10:00
Oliver Walters
45d16f2c42 Create new file bom.py for BOM helper functions
- New class for managing BOM upload
2019-06-27 22:46:11 +10:00
Oliver Walters
65c7454124 Require certain headers to be present in the file 2019-06-27 22:16:24 +10:00
Oliver Walters
2831ac55c4 Link to download a BOM template file 2019-06-27 22:15:58 +10:00
Oliver Walters
3085db44af Add 'reference' field to BOM item model 2019-06-27 21:44:40 +10:00
Oliver Walters
72486448b8 Fix form title 2019-06-27 21:17:33 +10:00
Oliver Walters
86695cf2bb Validate uploaded BOM file with tablib
- Check to see if a bom_file file object was uploaded
- Pass off to the BOM file validity checker
- Only a valid tabulated dataset will be accepted
2019-06-27 21:09:33 +10:00
Oliver Walters
8b207d0d1d Initial work towards uploading a BOM file
- Create a form with a single FileField
2019-06-27 21:09:33 +10:00
Oliver Walters
2dc43f0cf1 no message 2019-06-27 21:08:49 +10:00
Oliver Walters
cbfb6bd24c no message 2019-06-25 19:16:24 +10:00
Oliver Walters
d6fcf85cd2 Set part category for multiple parts at once 2019-06-25 19:15:39 +10:00
Oliver Walters
faf2fd408f PEP fix 2019-06-24 00:01:34 +10:00
Oliver Walters
a5306ec81b Add 'revision' field to part
- e.g. different versions of a product
- Can keep old versions in database and mark as inactive
2019-06-20 21:46:16 +10:00
Oliver Walters
8328e7e13c Improve uniqueness checking for Part 2019-06-20 21:37:25 +10:00
Oliver Walters
d5119e1aff Replace some cog icons 2019-06-20 21:28:00 +10:00
Oliver Walters
6e1b7bf3f0 Fix buttons in attachment table 2019-06-19 19:05:18 +10:00
Oliver Walters
d837a1f9a2 Buttonize the part category page 2019-06-19 18:54:32 +10:00
Oliver Walters
fefbcf2ed9 Clean up buttons for stock location 2019-06-19 18:49:05 +10:00
Oliver Walters
afcbd73026 Consolidate visual style for "Part" tabs 2019-06-19 07:58:14 +10:00
Oliver Walters
c0e66dd9a0 Added pretty buttons to stock item page 2019-06-18 23:56:00 +10:00
Oliver Walters
0285d3ee83 Improved button mechanics 2019-06-18 22:54:32 +10:00
Oliver Walters
8842d50c72 Replace a whole bunch o' drop-down options with pretty buttons 2019-06-18 22:49:43 +10:00
Oliver Walters
ee5722857f Re-add 'new stock item' button 2019-06-18 22:13:54 +10:00
Oliver Walters
3349d0c0df Remove part 'type' fields from form
These are now presented as virtual buttons
2019-06-18 21:43:51 +10:00
Oliver Walters
1d67b4cdaa Sliders now update the part options via AJAX 2019-06-18 19:24:10 +10:00
Oliver Walters
65a8a30f87 Many improves of the slidies 2019-06-18 19:05:09 +10:00
Oliver Walters
783b8964d1 Add 'slide' for part type 2019-06-18 18:49:52 +10:00
Oliver Walters
c9c851bead Add 'virtual' part flag 2019-06-18 18:34:07 +10:00
Oliver Walters
a47be24410 Fixed test cases 2019-06-18 01:38:43 +10:00
Oliver Walters
ea0da4c8f8 PEP 2019-06-18 01:32:29 +10:00
Oliver Walters
79cd05423c Custom aggregation of Part API
- Reduced full part query from 2.5s to 200ms!
2019-06-18 01:31:30 +10:00
Oliver Walters
37dba91b4a Add 'include self' option to getUniqueChildren 2019-06-18 01:02:56 +10:00
Oliver Walters
16b6ae8d61 Fixed up some stupid recursion on the Tree model template 2019-06-18 00:59:54 +10:00
Oliver Walters
642660d76e Improved speed of stock tree 2019-06-18 00:09:42 +10:00
Oliver Walters
037dc6a0d6 Reduced tree time with some better queries 2019-06-17 23:52:49 +10:00
Oliver Walters
ff6df9741f Perform model validation on API serializers
If you have a class, why not subclass it?!
2019-06-13 23:03:58 +10:00
Oliver Walters
1b06d86f59 Export purchase order to CSV 2019-06-13 22:38:10 +10:00
Oliver Walters
c9b946655c Add some more data to Part serializer 2019-06-13 18:33:15 +10:00
Oliver Walters
f0796327b3 Improve display of part base page 2019-06-12 00:29:47 +10:00
Oliver Walters
e4f5cc8ccd Order from a part page 2019-06-12 00:04:20 +10:00
Oliver Walters
1cb6c67086 Launch order dialog from the 'Parts' table 2019-06-11 23:55:20 +10:00
Oliver Walters
bc05146e72 First pass at 'order parts' fom
- Select parts in modal form window
2019-06-11 23:37:32 +10:00
Oliver Walters
8e82488f70 Display 'net stock' value on front page 2019-06-11 21:58:20 +10:00
Oliver Walters
3954b33fb7 Use 'on_order' count in calculation for parts we need to order 2019-06-10 23:05:14 +10:00
Oliver Walters
b8bcc5ce0c Separate display of open and closed purchase orders (per part) 2019-06-10 22:31:19 +10:00
Oliver Walters
9efdd836f4 Tweak the 'on_order' calculation 2019-06-10 21:56:50 +10:00
Oliver Walters
31ad31365a Calculate parts on order for a Part / SupplierPart 2019-06-07 08:37:25 +10:00
Oliver Walters
67248ec4dd List purchase orders for a given part 2019-06-05 21:47:22 +10:00
Oliver Walters
f731c45ce8 Replace other choice fields with commonized status code 2019-06-04 23:38:52 +10:00
Oliver Walters
782ad57f52 Re-enable image hovering where appropriate 2019-06-03 22:03:22 +10:00
Oliver Walters
7a3b186a0c Fix double loading of modals.html 2019-06-03 21:51:59 +10:00
Oliver Walters
219c438b82 Part name uniqueness is case insensitive 2019-06-02 20:37:59 +10:00
Oliver Walters
64d541f453 Hide result types which return no results 2019-06-02 20:28:17 +10:00
Oliver Walters
0b88953706 Form field rearrangement 2019-06-02 20:07:30 +10:00
Oliver Walters
ba26acd487 Rename some fields
- Oops didn't think that through, gotta go through and fix the data now...
2019-06-02 19:46:30 +10:00
Oliver Walters
fd2e2a71f9 Add search results for part-category and stock-location 2019-06-02 19:15:05 +10:00
Oliver Walters
3427f81a34 Improve part information display
- Better terminology
2019-06-02 14:47:40 +10:00
Oliver Walters
8214aef0db Add template for hover_image 2019-06-01 21:13:51 +10:00
Oliver Walters
7ac52d4d9f Optionally select which column gets grouped
- Allow grouping by numerical values
2019-05-28 19:12:10 +10:00
Oliver Walters
4d518f4512 PEP 2019-05-26 16:05:54 +10:00
Oliver Walters
8715e29c31 Add ability to make variant from template 2019-05-26 16:00:27 +10:00
Oliver Walters
91a5a7f051 Simplify part model
- Remove 'varian't or ''revision' field
- Part name must be unique across database
2019-05-26 12:16:57 +10:00
Oliver Walters
1312148721 Filter parts by template or variant status (in API) 2019-05-26 11:15:41 +10:00
Oliver Walters
41eb195940 Thanks, PEP 2019-05-26 00:42:40 +10:00
Oliver Walters
e5bb6284db Add variant-of to part detail view 2019-05-26 00:41:24 +10:00
Oliver Walters
2138977b07 Include template attachments in attachment count 2019-05-26 00:39:36 +10:00
Oliver Walters
d563e873ed Change some icons 2019-05-26 00:35:52 +10:00
Oliver Walters
f3b17b2164 Add some form fields (might have to remove later) 2019-05-26 00:32:18 +10:00
Oliver Walters
21dd893c01 Display templated parts as italic in the part list 2019-05-26 00:29:17 +10:00
Oliver Walters
75b21bdd8f Visual tweaks 2019-05-26 00:20:03 +10:00
Oliver Walters
7881a67db4 Calculate stock based on variant stock if part is a template 2019-05-26 00:01:01 +10:00
Oliver Walters
c45a506a10 Rename field part.has_variants to part.is_template 2019-05-25 23:58:31 +10:00
Oliver Walters
9c1c008f33 Show attachments for the Template part under attachments tab 2019-05-25 23:50:24 +10:00
Oliver Walters
08ac7e2a36 Rendering tweaks 2019-05-25 23:45:26 +10:00
Oliver Walters
3d57483f0e Add a 'new varian't button 2019-05-25 23:43:06 +10:00
Oliver Walters
bbe66472ee Display list of part variants 2019-05-25 23:40:59 +10:00
Oliver Walters
39c4611598 Add a tab for part variants 2019-05-25 23:31:23 +10:00
Oliver Walters
0e684071fa Display message if a part is a template or a variant 2019-05-25 23:21:38 +10:00
Oliver Walters
bc778c1451 Prevent a Part from both having variants and being a variant of something else 2019-05-25 22:43:47 +10:00
Oliver Walters
1a2fb9e170 Add 'has_variants' and 'variant_of' field for Part
- StockItem cannot point to a part which is a template part
2019-05-25 22:27:36 +10:00
Oliver Walters
ecfde46838 Fix error in BomItem creation 2019-05-25 21:57:59 +10:00
Oliver
aeaf4e7dc9
Merge pull request #363 from SchrodingersGat/rest-simplify
Rest simplify
2019-05-23 23:03:39 +10:00
Oliver Walters
c2ca5a24f8 PEP 2019-05-23 22:59:56 +10:00
Oliver Walters
5664fc5472 Detail in StockItem API now optional 2019-05-23 22:57:45 +10:00
Oliver Walters
9052ccc181 Make 'part_detail' field in SupplierPart serializer optional 2019-05-23 22:44:37 +10:00
Oliver Walters
cf5b8d0249 Optional part_detail and sub_part_detail for BOM API
- Significant speed boost on request
- Request the relevent information at the right place
2019-05-23 22:36:19 +10:00
Oliver Walters
d386c2a6f9 Include total stock in PartBrief serializer 2019-05-23 21:51:27 +10:00
Oliver Walters
27f956bffa Part detail rendering improvements 2019-05-22 23:27:43 +10:00
Oliver Walters
cd7bc6cce5 Include pricing information in part supplier view
Also some CSS tweaks to secondary modal buttons
2019-05-22 22:11:27 +10:00
Oliver Walters
d3a5661dbd Serializer fix 2019-05-21 15:42:52 +10:00
Oliver Walters
d1dfad591d Pepperoni 2019-05-21 15:38:22 +10:00
Oliver Walters
988a35d237 Serialize BOMItem pricing information
- Account for quantity
- Prefetch required items
2019-05-21 15:15:54 +10:00
Oliver Walters
2817e6ca31 Added further part pricing 2019-05-21 14:08:40 +10:00
Oliver Walters
9d5b938ced Don't serialize 'available_stock' in PartSerializer 2019-05-21 07:57:44 +10:00
Oliver Walters
ca9d6e6e25 PEP fixes 2019-05-21 00:54:48 +10:00
Oliver Walters
49ed17db56 Add a line 2019-05-21 00:52:17 +10:00
Oliver Walters
4b41766312 And mode 2019-05-21 00:31:34 +10:00
Oliver Walters
72aba30e81 More hungry fetching 2019-05-21 00:16:00 +10:00
Oliver Walters
157919f47a More prefetching
-
2019-05-21 00:06:57 +10:00
Oliver Walters
6ae48d07c4 Cleanup pricing algorithms 2019-05-20 23:53:39 +10:00
Oliver Walters
8adb4f6c20 Further query reduction
- Also improved query reporting middleware
2019-05-20 23:26:27 +10:00
Oliver Walters
d15b09a5f4 Don't serialize pricing
- Saves MANY queries and provides drastic speedup
2019-05-20 23:03:19 +10:00
Oliver Walters
18ff80312b Fixes 2019-05-20 22:53:01 +10:00
Oliver Walters
4bde00d925 AND AGAIN
Use --fake to force the migration
2019-05-20 22:24:18 +10:00
Oliver Walters
ee2ddbf512 Reduce some database queries by using aggregate Sum 2019-05-20 21:47:30 +10:00
Oliver Walters
70be052c74 Rebuilt migrations again (arrrrrrrrrrrrrrrrrrrrrrrrrrgh never do this) 2019-05-20 21:45:37 +10:00
Oliver Walters
34620b22b0 Add a middleware to count queries
- https://www.dabapps.com/blog/logging-sql-queries-django-13/
2019-05-20 18:51:57 +10:00
Oliver Walters
fc75ab7420 Reduce response time for stock list
Initial time - 6.2s
After prefetch - 4.3s
2019-05-20 08:44:52 +10:00
Oliver Walters
5055226490 Reduce BOM listing time to ~1.8s 2019-05-20 08:31:03 +10:00
Oliver Walters
cee1062b51 Prefetch locations - 2.6s
However the 'total_stock' and 'available_stock' fields are still the majority of the response time
2019-05-20 08:24:05 +10:00
Oliver Walters
6766063c8b Reducing request time for PartList API
- Initial query time = 5.91s
- Prefetch related part categories = 3.64s
2019-05-20 08:13:22 +10:00
Oliver Walters
73041a3fe6 Fix div-by-zero for part pricing 2019-05-20 07:53:23 +10:00
Oliver Walters
9ddedc6915 Restart migrations
- Easier to delete all the migrations and start again :'(
2019-05-19 00:11:41 +10:00
Oliver Walters
a54760b219 Improve pricing display 2019-05-18 23:44:43 +10:00
Oliver Walters
ffda5a1b29 Add warning if no pricing data available 2019-05-18 23:13:18 +10:00
Oliver Walters
368193d397 Fix formatting 2019-05-18 23:09:12 +10:00
Oliver Walters
dcf79338c1 Add pop-up pricing window for part
- Cost to purchase from suppliers
- Cost to build from BOM
2019-05-18 23:09:08 +10:00
Oliver Walters
54ccf6c7b3 PEP 2019-05-18 23:09:04 +10:00
Oliver Walters
b64a29b897 Display build pricing information 2019-05-18 23:09:00 +10:00
Oliver Walters
2b098942b0 Fix pricing bug
- Include BOM item pricing in API
2019-05-18 23:08:56 +10:00
Oliver Walters
2a1fd2b03b More complex pricing calculations
- Calculate BOM price for a part
- Calculate total pricing for a part (build or purchase)
- Display pricing information in BOM table
2019-05-18 23:08:51 +10:00
Oliver Walters
cdc55bb5d3 PEP fixes 2019-05-18 23:08:42 +10:00
Oliver Walters
a3d1591929 Display part pricing in Part view
- Calculate min_price and max_price based on provided supplier information
2019-05-18 23:08:38 +10:00
Oliver Walters
0cfb243eb3 Move SupplierPart and SupplierPriceBreak to the 'Company' app
- https://docs.djangoproject.com/en/2.2/ref/models/options/#django.db.models.Options.db_table
- https://stackoverflow.com/questions/3519143/django-how-to-specify-a-database-for-a-model
- And others, presumably
2019-05-18 23:08:34 +10:00
Oliver Walters
5043c354b1 Set default value for SupplierPriceBreak
Edit or Delete a SupplierPriceBreak
2019-05-18 23:08:30 +10:00
Oliver Walters
fc3072a459 Form for creating a new price break for a supplier part 2019-05-18 23:08:25 +10:00
Oliver Walters
1163f60b23 Return price breaks in the correct order 2019-05-18 23:08:21 +10:00
Oliver Walters
a3cd54875c Update validator for supplier price break 2019-05-18 23:08:17 +10:00
Oliver Walters
92632b2ef7 PartAttachment attachment file is actually required! 2019-05-18 23:08:13 +10:00
Oliver Walters
a1461de297 Add supplierpricebreak model to the admin interface 2019-05-18 23:08:09 +10:00
Oliver Walters
613c96e093 Part attachment comment field is required 2019-05-18 23:08:04 +10:00
Oliver Walters
a2dbdfe794 Remove 'single_price' field from supplier part
- Instead we will rely entirely on the SupplierPriceBreak model
2019-05-18 23:07:58 +10:00
Oliver Walters
a95e77c429 Pre-fill allocation count 2019-05-18 12:17:57 +10:00
Oliver Walters
a2eeb7e946 Bug fix for part/stock
- Re-introduce the button to create a new stock item
2019-05-17 16:35:16 +10:00
Oliver Walters
117fd701cd Refactor some code 2019-05-16 22:19:49 +10:00
Oliver Walters
0a1887477c Create template for stock table 2019-05-16 22:15:44 +10:00
Oliver Walters
b4df96aaee Simplify extended filters 2019-05-16 19:14:43 +10:00
Oliver Walters
fae44c3002 Bug fix for part deep-copy
- Don't copy an image if an image doesn't exist
2019-05-15 09:21:31 +10:00
Oliver Walters
292e29e95e Add some more secondary modals 2019-05-15 07:50:54 +10:00
Oliver Walters
c6331255de Fixes 2019-05-15 07:23:55 +10:00
Oliver Walters
8c92c2c2a1 Display overage values in BOM table 2019-05-15 07:23:02 +10:00
Oliver Walters
68ae38a7d7 Calculate total quantity required for a build (including overages) 2019-05-15 00:36:02 +10:00
Oliver Walters
a80c11f3ce Add function to infer default_supplier for a Part 2019-05-15 00:22:10 +10:00
Oliver Walters
f6baf5d2ae Add 'overage' field to BOM item
- Accepts absolute or percentage numbers
- Default = blank
- Now with custom validator! (for limited time only, limit one per customer)
2019-05-15 00:16:34 +10:00
Oliver Walters
f979edef8e Prevent double loading of stock.js 2019-05-14 23:47:15 +10:00
Oliver Walters
2e5b3bfdf9 Prevent multiple loads of part.js 2019-05-14 23:44:33 +10:00
Oliver Walters
58cc1cda77 Only load api.js once 2019-05-14 23:43:16 +10:00
Oliver Walters
0ffe2666b3 Added some missing help text 2019-05-14 23:36:22 +10:00
Oliver Walters
505b7941b1 Add link to delete a part
- Part must first be deactivated
2019-05-14 23:33:25 +10:00
Oliver Walters
76e6094977 Add secondary modal to BOM 2019-05-14 23:30:32 +10:00
Oliver Walters
9d50f2a6ac Toot toot all aboard the refactor tractor
- launchModalForm now accepts a 'secondary' parameter which is a list of secondary modals to attach
2019-05-14 23:27:45 +10:00
Oliver Walters
97c4e5acbf Add some secondary buttons to the part-create form 2019-05-14 23:19:56 +10:00
Oliver Walters
a316681ec8 Pass object data back to modal when creating new object 2019-05-14 23:04:00 +10:00
Oliver Walters
2164cac28a PEP 2019-05-14 18:32:20 +10:00
Oliver Walters
d1de6eb1f9 Copy across default tags when creating a new part 2019-05-14 17:32:29 +10:00
Oliver Walters
0842bd5833 Add 'default_keywords' field to a category 2019-05-14 17:30:24 +10:00
Oliver Walters
02033c2157 Add 'keywords' field to Part
- Shows up in search results
2019-05-14 17:23:20 +10:00
Oliver Walters
069cebb669 PEP 2019-05-13 23:03:37 +10:00
Oliver Walters
06e95819c9 Update form for deleting a BOM item 2019-05-13 23:00:04 +10:00
Oliver Walters
00b37b62db Updated form to delete part category 2019-05-13 22:55:40 +10:00
Oliver Walters
ffa5a25fa9 Updated form for deleting part attachments 2019-05-13 22:53:58 +10:00
Oliver Walters
fcdddf6bb6 Cleaup for delete supplier part form 2019-05-13 22:52:20 +10:00
Oliver Walters
3e4d778539 Change menu ordering 2019-05-13 21:56:39 +10:00
Oliver Walters
e1e5cde60f Renamed copyBomFrom to deepCopy
- Allows passing of more data (in the future) e.g. tags, etc
- Performs copy of the part image
2019-05-13 21:54:52 +10:00
Oliver Walters
00f7ece6b4 PEP fixes 2019-05-13 21:42:05 +10:00
Oliver Walters
2408318eae Add new view to duplicate a part
- Allows 'deep_copy' (copies all BOM items for the duplicated part)
2019-05-13 21:41:32 +10:00
Oliver Walters
42bbf95c42 Include the sub_part ID in the BOM hash 2019-05-13 18:09:59 +10:00
Oliver Walters
f410957d8d Refactored Stock test to use fixtures 2019-05-12 21:46:38 +10:00
Oliver Walters
e3a9a70678 Add a form/view/etc for BOM validation 2019-05-12 16:27:50 +10:00
Oliver Walters
c7f0d56be4 Don't display BOM hash any more! 2019-05-12 16:09:11 +10:00
Oliver Walters
d17e36b9f9 Add BOM checksum info panels to the BOM view 2019-05-12 13:24:58 +10:00
Oliver Walters
9149619f38 Make BOM tab badge red if the BOM is not validated 2019-05-12 13:12:04 +10:00
Oliver Walters
06deccca1c Rename check_bom to validate_bom 2019-05-12 13:01:41 +10:00
Oliver Walters
985986a844 New functions for Part model
- is_bom_valid() - Tests if bom checksums match
- check_bom() function to mark the BOM as valid
2019-05-12 12:53:56 +10:00
Oliver Walters
2431ba2a04 Add new fields to Part model
- bom_checksum (stores checksum calculated when the BOM was checked)
- bom_checked_by (User who checked the BOM)
- bom_checked_date (When the BOM was last checked)
2019-05-12 12:47:28 +10:00
Oliver Walters
4c3032e2f0 Add function to calculate BOM hash
- Uses hashlib.md5
2019-05-12 12:42:20 +10:00
Oliver Walters
82fb43e1e3 PEP 2019-05-12 12:29:16 +10:00
Oliver Walters
d5dbc1b072 Display supplier part URL in table 2019-05-12 12:20:15 +10:00
Oliver Walters
1d36ea3e2e Add a 'full_name' field for Part
- Combines IPN | Name | Variant
- Use this to display in most views
2019-05-12 12:16:04 +10:00
Oliver Walters
b3cca1d851 Improve form management when possible part matches are found
- Display the checkbox always
- Display a warning message above the form
2019-05-11 18:07:37 +10:00
Oliver Walters
19854b4709 Improve str2bool to validate checkbox return values
- A checked checkbox returns 'on' :|
2019-05-11 18:06:17 +10:00
Oliver Walters
2e5b0bc961 PEP 2019-05-11 12:29:51 +10:00
Oliver Walters
84d2fce8ca Add a 'confirm_creation' input if there are possible part matches 2019-05-11 12:29:02 +10:00
Oliver Walters
d9c0d2f5e3 Update PartCreate form
- Display list of close matches
- Invalidate form (for now)
2019-05-11 11:55:17 +10:00
Oliver Walters
1b8ca34ddb Added fuzzy search function for matching against part names 2019-05-11 10:36:24 +10:00
Oliver Walters
343850c4f0 Cleanup for part.views 2019-05-11 09:51:45 +10:00
Oliver Walters
7f1cdaf73f PEP 2019-05-10 22:52:45 +10:00
Oliver Walters
8ac180a9e3 Add validator to part name
- Check for 'illegal' characters
- Mostly just as a test for validators!
2019-05-10 22:52:06 +10:00
Oliver Walters
68b273aae1 Fixed some more part name displays 2019-05-10 22:18:56 +10:00
Oliver Walters
f76f1f54ae Add 'variant' field to Part model
- Display 'long_name' which is concatenation of name and variant
2019-05-10 22:17:13 +10:00
Oliver Walters
01778f996e PEP fixes 2019-05-10 20:12:15 +10:00
Oliver Walters
ba2f565e35 docstring improvements
- Added Attribute docstring to all model objects
2019-05-10 20:11:52 +10:00
Oliver Walters
932c07287b Button fixes 2019-05-10 08:38:50 +10:00
Oliver
793b4f8063
Merge pull request #288 from SchrodingersGat/tree-badges
Tree badges
2019-05-09 23:06:32 +10:00
Oliver Walters
92930766c6 Tree view now supports root URL link 2019-05-09 22:23:56 +10:00
Oliver Walters
34225193fa Improve tree toggle icon 2019-05-09 21:46:11 +10:00
Oliver Walters
bff0f30b13 Save tree state 'per tree'
- Separate save state for Part and Stock tree
2019-05-09 21:41:44 +10:00
Oliver Walters
45223fb607 Display count badges in sidenav tree
Uses the 'tags' parameter as according to the docs - https://github.com/jonmiles/bootstrap-treeview

- Part
- Stock
2019-05-09 20:30:23 +10:00
Oliver Walters
1a115104d2 If a part has no bom items, the 'can_build' function now returns zero 2019-05-09 18:35:55 +10:00
Oliver
8bf09300bb
Merge pull request #281 from SchrodingersGat/page-title
Page title
2019-05-09 18:33:03 +10:00
Oliver Walters
ca6bd0a999 Add page title for company page 2019-05-09 18:17:28 +10:00
Oliver Walters
a067d9f4cd Add page title for Part app 2019-05-09 18:13:54 +10:00
Oliver Walters
873bd182f0 Vertical alignment of button toolbars 2019-05-09 18:04:42 +10:00
Oliver
fa2bf947ab
Merge pull request #267 from SchrodingersGat/bom-img
BOM table improvements
2019-05-09 00:42:33 +10:00
Oliver Walters
94ad378b9d Part and company images return the 'no image found' image if they do not have an image 2019-05-09 00:39:51 +10:00
Oliver Walters
f05e05664b PEP fix 2019-05-08 23:33:37 +10:00
Oliver Walters
e9c904076f Added help text for model fields 2019-05-08 23:32:57 +10:00
Oliver Walters
1f9aa7a8fc Display thumbnail in Part 'used_in' detail view 2019-05-08 20:26:39 +10:00
Oliver Walters
58e5b10d26 Display supplier logo in part suppliers list
- Also add a background colour for popup image in case of transparent image file
2019-05-08 20:23:54 +10:00
Oliver Walters
0754afd5f5 Display icons in supplier_part list
- Bug fix for part list API query
2019-05-08 20:16:53 +10:00
Oliver Walters
0058207fad Functionalize loadPartTable 2019-05-08 19:31:43 +10:00
Oliver Walters
2a66224952 Part image hover preview working in part-category-list
- Yay for CSS!
2019-05-08 19:15:41 +10:00
Oliver Walters
fb38ddb1b3 Limit choices for 'parent' field when editing PartCategory 2019-05-08 17:57:31 +10:00
Oliver Walters
ab76525da2 Initially sort part list by 'name' 2019-05-08 15:53:03 +10:00
Oliver Walters
416b5c9820 Include part image URL in Part API 2019-05-08 15:25:28 +10:00
Oliver Walters
e58bed41b0 Visual style improvements 2019-05-07 21:24:09 +10:00
Oliver Walters
9a6cf259a6 PEP fixes 2019-05-07 14:48:35 +10:00
Oliver Walters
dcbd5d819c Enable DnD for Company image
- Can actually use the existing form to do partial upload!
- Generecise the drag-and-drop upload function
- Remove some (now unnecessary) Python View code
2019-05-07 14:47:31 +10:00
Oliver Walters
0969edc431 Some tweaks
- Add (unused) function to download an external file
- JS tweaks
2019-05-07 08:07:33 +10:00
Oliver Walters
22ff085b15 PEP fixes 2019-05-07 00:11:27 +10:00
Oliver Walters
fe4acd48a7 Add the ability to extract image URL information when drag-and-dropping image URL from a browser window
- Can't do anything with it yet...
- Code is almost there but leaving for now
2019-05-07 00:04:35 +10:00
Oliver Walters
3c7238f29c Extract img URL from a drag-and-dropped image from another website
- https://stackoverflow.com/a/19268449
2019-05-06 22:34:38 +10:00
Oliver Walters
bb702367b6 Test that uploaded image is an image file, return error otherwise
- New javascript function inventreeFileUpload
2019-05-06 22:20:06 +10:00
Oliver Walters
c88149b9aa POST image data to View
- https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects
- https://stackoverflow.com/questions/25390598/append-called-on-an-object-that-does-not-implement-interface-formdata#25390646
2019-05-06 21:49:01 +10:00
Oliver Walters
eec0fc34d2 Provide function callback when file is dropped
- https://stackoverflow.com/questions/6756583/prevent-browser-from-loading-a-drag-and-dropped-file
-
2019-05-06 21:28:49 +10:00
Oliver Walters
dca26b5810 Change the display of the part thumbnail when dragging a file overhead
Refs:
- https://stackoverflow.com/questions/26756176/jquery-dragenter-or-dragover-to-include-children#26777526
- https://stackoverflow.com/questions/10867506/dragleave-of-parent-element-fires-when-dragging-over-children-elements

Thanks, StackOverflow!
2019-05-06 19:21:14 +10:00
Oliver Walters
02bd9c2d05 Search part by IPN 2019-05-06 11:23:55 +10:00
Oliver Walters
b9e5afa768 PEP 2019-05-05 22:35:39 +10:00
Oliver Walters
b85a4d0895 Limit choices for BomItem Part foreignkey fields
- Only allow 'active' Parts
2019-05-05 22:34:00 +10:00
Oliver Walters
7987fcc7cc PEP fixes 2019-05-05 11:44:23 +10:00
Oliver Walters
aaff92ff9c Make the star icon yellow 2019-05-05 11:21:08 +10:00
Oliver Walters
fc5fd5e477 Toggle part star status using AJAX 2019-05-05 11:18:38 +10:00
Oliver Walters
d2d248c72e QR button code is now a template 2019-05-05 10:56:59 +10:00
Oliver Walters
bbd164407f Display 'starred' status on the Part information page 2019-05-05 10:54:35 +10:00
Oliver Walters
b2e935382b Override user field when creating a new PartStar
- Force it to be the currently logged-in user
2019-05-05 10:47:57 +10:00
Oliver Walters
3bd7c28558 Add API endpoint for viewing and deleting a PartStar entry 2019-05-05 10:36:48 +10:00
Oliver Walters
d245e58990 Only allow PartStar creation for the currently authenticated user 2019-05-05 09:14:12 +10:00
Oliver Walters
70f1097ea0 API endpoint for accessing part star information 2019-05-05 09:05:44 +10:00
Oliver Walters
86b5b8d16e Add PartStar model to the admin interface 2019-05-05 08:50:14 +10:00
Oliver Walters
919f04044b Enforce uniqueness constraint 2019-05-05 08:48:41 +10:00
Oliver Walters
9919bebaa2 Add PartStart model
- Links parts to users
2019-05-05 08:46:23 +10:00
Oliver Walters
16edcc4bd9 Add 'star' button to Part 2019-05-05 08:42:01 +10:00
Oliver Walters
8a6932e993 Improve QR code display
- Pretty little glyphicon button!
2019-05-05 08:39:16 +10:00
Oliver Walters
a66bc2fe72 Reload after adjusting Part attachments 2019-05-05 00:53:42 +10:00
Oliver Walters
ecb8e71d75 Fixed a missing form title 2019-05-05 00:46:11 +10:00
Oliver Walters
22afccd294 Add tests for the custom templates 2019-05-05 00:21:54 +10:00
Oliver Walters
fcc83ca7c7 Part API test suite now uses test data fixtures 2019-05-05 00:15:25 +10:00
Oliver Walters
e2ced18753 Added some more BomItem tests 2019-05-05 00:00:30 +10:00
Oliver Walters
c0e3007e4f Add some BomItem tests
- Add a bom fixture
2019-05-04 23:50:24 +10:00
Oliver Walters
1f80e8c655 More tests for Part
- barcode
- category_path
2019-05-04 23:35:52 +10:00
Oliver Walters
3fda5a3925 Convert test_part to use fixture data 2019-05-04 23:30:41 +10:00
Oliver Walters
663cc269b4 Test recursive child count 2019-05-04 23:22:32 +10:00
Oliver Walters
ab6673caa3 Add tests for default location traversal 2019-05-04 23:20:59 +10:00
Oliver Walters
6d803d48b5 Add fixtures to the part test
- Make development of further tests much easier
2019-05-04 22:58:55 +10:00
Oliver Walters
bc7f3f77de PEPEP 2019-05-04 21:57:43 +10:00
Oliver Walters
67eda51cd2 Add part category tree traversal
- If a category doesn't have a default_location, look at the parent category
- And so on and so on
2019-05-04 21:56:18 +10:00
Oliver Walters
71972f4454 Add function to get the default location for a part
- If field not specified, look at the part category
2019-05-04 19:06:39 +10:00
Oliver Walters
f270375847 Add ability to edit default_location for a PartCategory 2019-05-04 19:03:32 +10:00
Oliver Walters
4ffaad3f1a Add a default_location to the PartCategory model
- If a part does not specify a default location, look at the default location of  the category
2019-05-04 19:00:11 +10:00
Oliver Walters
9aa1a70f18 QR code improvements
- Display QR codes as links to served images
- The qr_code plugin caches these images in the background
- Make a qr_code template to push out as a modal form
- Create a QRCodeView to simplify display of QR codes
- Add option to launchModalForm() to disable the 'submit' button

Refactored QR code display for

- StockLocation
- StockItem
- Part
2019-05-04 18:46:57 +10:00
Oliver Walters
8e65c0a120 Fixes for some broken views 2019-05-04 17:20:05 +10:00
Oliver Walters
b6cace2681 Add 'options' drop-down for Part table in Category view
- Doesn't do anything yet
2019-05-04 16:41:45 +10:00
Oliver Walters
b1cdb7833d Add confirmation modal to activate/deactivate a part
- New question modal available
2019-05-04 16:31:23 +10:00
Oliver Walters
4fe3b9d779 add docstrings 2019-05-04 11:28:23 +10:00
Oliver Walters
28600ebc79 There's always another PEP 2019-05-04 11:27:11 +10:00
Oliver Walters
b32a9ed597 Add 'About InvenTree' modal
- Accessible from the top-right dropdown menu
- Add InvenTree/version.py which contains helper functions
2019-05-04 11:23:30 +10:00
Oliver Walters
6c7613ba2f Fix form title 2019-05-04 01:03:43 +10:00
Oliver Walters
4af59f0ca9 Fixed part image upload
- Image was being saved twice
- Don't call super().post in AjaxUpdateView
- Instead, handle properly
2019-05-04 00:38:17 +10:00