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 Walters
d386c2a6f9
Include total stock in PartBrief serializer
2019-05-23 21:51:27 +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
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
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
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
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
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
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
c6331255de
Fixes
2019-05-15 07:23:55 +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
0ffe2666b3
Added some missing help text
2019-05-14 23:36:22 +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
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
e3a9a70678
Add a form/view/etc for BOM validation
2019-05-12 16:27:50 +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
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
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