Commit Graph

168 Commits

Author SHA1 Message Date
Oliver Walters
d34383e842 Specify serializer type for part category 2020-08-15 21:20:31 +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
Oliver Walters
126e42a022 Add "IPN" column to stock list table 2020-06-06 08:47:06 +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
4bd0872b2c Expose some more stock item data over API 2020-05-22 23:33:27 +10:00
Oliver Walters
2f6d03388d Add serializer / table display 2020-05-18 19:15:40 +10:00
Oliver Walters
4d992ea528 Expose test templates to the API 2020-05-17 13:56:49 +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
cc11df917e Part list API adjustments 2020-05-02 14:03:17 +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
087001f29d Fix BOM table rendering
- Price was not being sent in the PartBriefSerializer!
2020-04-28 23:17:15 +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
9d25ed335c Rebuild the "PurchaseOrder" detail
- Use AJAX and bootstrap-table
- Display progress bar
2020-04-24 12:52:08 +10:00
Oliver Walters
435c13cf7c Separate concept of "OrderStatus" into "SalesOrderStatus" and "PurchaseOrderStatus" 2020-04-23 20:38:09 +10:00
Oliver Walters
b75c343236 Add action buttons to the sales order page 2020-04-21 22:02:17 +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
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
10ee8bc666 Use existing serializers to encode information for barcode response 2020-04-15 23:41:16 +10:00
Oliver Walters
92cb7211ce Rename 'image_url' to 'thumbnail' in PartBrief API 2020-04-06 12:57:04 +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
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
0cfb293ca9 List API now uses the thumbnail image 2020-04-05 00:19:37 +11:00
Oliver Walters
7e8664a4dd Include "parts" count in Category API 2020-04-03 09:15:09 +11:00
Oliver Walters
434d084371 Provide form for user to select export options 2020-02-11 21:43:17 +11:00
Oliver Walters
1327c1d3b1 Add API endpoint for querying part images 2020-02-10 22:03:06 +11:00
Oliver Walters
f415e2040e API endpoint for PartParameter and PartParameterTemplate 2019-09-07 19:44:10 +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
8637d46981 Display inactive parts in part used_in view 2019-07-10 13:18:07 +10:00
Oliver Walters
808d332bda Show BomItem reference field in BOM table 2019-06-27 23:57:21 +10:00
Oliver Walters
1d67b4cdaa Sliders now update the part options via AJAX 2019-06-18 19:24:10 +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
c9b946655c Add some more data to Part serializer 2019-06-13 18:33:15 +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
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
21dd893c01 Display templated parts as italic in the part list 2019-05-26 00:29:17 +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
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
d3a5661dbd Serializer fix 2019-05-21 15:42:52 +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
9d5b938ced Don't serialize 'available_stock' in PartSerializer 2019-05-21 07:57:44 +10:00
Oliver Walters
72aba30e81 More hungry fetching 2019-05-21 00:16:00 +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
ee2ddbf512 Reduce some database queries by using aggregate Sum 2019-05-20 21:47:30 +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
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
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
8c92c2c2a1 Display overage values in BOM table 2019-05-15 07:23:02 +10:00
Oliver Walters
2164cac28a PEP 2019-05-14 18:32:20 +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
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
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
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
416b5c9820 Include part image URL in Part API 2019-05-08 15:25:28 +10:00
Oliver Walters
7987fcc7cc PEP fixes 2019-05-05 11:44:23 +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
70f1097ea0 API endpoint for accessing part star information 2019-05-05 09:05:44 +10:00
Oliver Walters
73f672495d Use API to mark part as active/inactive 2019-04-28 23:40:26 +10:00
Oliver Walters
1a66a12d57 Enable Part API to filter by active status 2019-04-28 23:15:30 +10:00
Oliver Walters
ed3ae30248 Documentation for Part app 2019-04-27 22:18:07 +10:00
Oliver Walters
529beb3d58 Abstract DRF serializer validation
- Subclass InvenTree.InvenTreeModelSerializer
- Ensures model data is checked too (after serializer checks are performed)
2019-04-26 23:34:15 +10:00
Oliver Walters
accec07fe9 BOM serializer now validates against model
- Need to call instance.clean()
- https://stackoverflow.com/questions/40697648/django-dry-model-form-serializer-validation
2019-04-26 22:36:44 +10:00
Oliver Walters
da540e1b26 Improve BOM API endpoint
- Origin at /api/bom
- Add detail view
- Add create power to list view
2019-04-26 21:44:38 +10:00
Oliver Walters
6f7082a919 Peppy 2019-04-26 21:44:38 +10:00
Oliver Walters
9b4e86f36a Add ability to create a new supplierpart from the API 2019-04-26 21:44:37 +10:00
Oliver Walters
19a11eac1a PEP fixes 2019-04-17 07:49:46 +10:00
Oliver Walters
150bc1e674 Add API interface for SupplierPriceBreak 2019-04-17 00:35:49 +10:00
Oliver Walters
6e2b111b9c Add 'consumable' field to Part
- Indicates that a part can be used to make other parts
- This is the inverse of 'buildable'
- Add this field to the serializer and edit forms
- Display parameter on part info page
- BOM edit window only requests sub-parts that are marked as 'consumable'
- Also added option to edit 'units' field for part
2019-04-16 00:01:52 +10:00
Oliver Walters
3d9a1acc2e Don't render full category information in part API
- Lots of data duplication!
- Just send the category ID (and the category name)
-
2019-04-15 22:52:53 +10:00
Oliver Walters
e370cb8d3c Add note field to BomItem serializer 2019-04-14 22:20:11 +10:00
Oliver Walters
cf374252c1 PEP fixes for /part 2019-04-14 09:25:46 +10:00
Oliver Walters
2d21bf0626 Part BOM list now shows how many of each sub-item are available
- If there are enough to build the available quantity is shown in green
- Otherwise, shown in orange
2019-04-12 22:09:50 +10:00
Oliver
7e4b0630b6 Part category API 2018-05-04 23:54:57 +10:00
Oliver
f995f54390 More API / JSON stuff
- SupplierPart JSON API
- Part supplier list
- Company part list
2018-05-03 00:47:03 +10:00
Oliver
7d21c4ef1c BOM now uses DRF / ajax 2018-05-02 23:42:57 +10:00
Oliver
1899d8f3e9 Stock location part list now uses bootstrap table
- Serializers within serializers!
2018-05-02 23:08:45 +10:00
Oliver
45510b1adc Add category info to part serializer 2018-05-02 20:57:04 +10:00
Oliver
f46c09e3a7 Added part category path string to serializer 2018-04-24 17:54:08 +10:00
Oliver
86a9b36c99 Add part-list API
- Deleted some old serializers
- Simply list of parts
- Search by name / description
- Orderable by name
2018-04-23 21:10:13 +10:00
Oliver
a91ff58d84 Flakey
Fixing python style errors
2018-04-16 01:02:17 +10:00