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
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
8b61acb048
PEP fixes
2020-04-05 00:38:25 +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
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
maxbachmann
b162c97226
use rapidfuzz instead of fuzzywuzzy
2020-03-22 22:31:15 +01: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
15bc457714
Improve calculation of BOM item overage
2020-03-19 10:15:43 +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
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
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
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
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
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
9cef038d6a
IPN must match regex validator (if one is provided)
2020-02-03 21:09:24 +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
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 Walters
98374ca466
Update to more recent libraries
...
- Specify exact module versions
2019-12-05 14:12:05 +11:00
Oliver Walters
9da8189899
Allow non-integer stock movement
2019-11-19 10:17:20 +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
a77fd23fcf
Add a reminder for future-self
2019-09-17 20:19:27 +10:00
Oliver Walters
db04f399c1
Simplify exporting of BOM for a part
2019-09-15 22:21:12 +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
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
13270617b9
Ensure PartParameterTemplate name is unique
2019-09-07 19:43:41 +10:00
Oliver Walters
37d9c59a0e
Add API endpoint for validating a BOM item
2019-09-05 19:29:51 +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
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
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
2f6357b136
Add PartParameter table
2019-08-20 12:31:43 +10:00
Oliver Walters
3dca7ba353
Include supplier information in BOM
2019-08-07 09:12:53 +10:00
Oliver Walters
0a328687a5
BOM hash includes reference fields
2019-08-02 11:11:28 +10:00
Oliver Walters
482a5dae4b
Save the selected BOM data
2019-07-10 12:27:19 +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
bd30ac037b
Generate a list of allowed BOM items and pass to the form template
2019-07-07 11:22:01 +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
3085db44af
Add 'reference' field to BOM item model
2019-06-27 21:44:40 +10:00
Oliver Walters
d6fcf85cd2
Set part category for multiple parts at once
2019-06-25 19:15:39 +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
c9c851bead
Add 'virtual' part flag
2019-06-18 18:34:07 +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
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
219c438b82
Part name uniqueness is case insensitive
2019-06-02 20:37:59 +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
41eb195940
Thanks, PEP
2019-05-26 00:42:40 +10:00
Oliver Walters
2138977b07
Include template attachments in attachment count
2019-05-26 00:39:36 +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
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 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
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
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
793b4f8063
Merge pull request #288 from SchrodingersGat/tree-badges
...
Tree badges
2019-05-09 23:06:32 +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
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
416b5c9820
Include part image URL in Part API
2019-05-08 15:25:28 +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
bbd164407f
Display 'starred' status on the Part information page
2019-05-05 10:54:35 +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
e2ced18753
Added some more BomItem tests
2019-05-05 00:00:30 +10:00
Oliver Walters
1f80e8c655
More tests for Part
...
- barcode
- category_path
2019-05-04 23:35:52 +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
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
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
Oliver
6482b54bc9
Merge pull request #205 from SchrodingersGat/qr-codes
...
Qr codes
2019-05-02 21:15:34 +10:00
Oliver Walters
5a234a1070
Added barcode for Part object
2019-05-02 20:57:53 +10:00
Oliver Walters
194a0962f3
PEP fixes
2019-05-02 20:19:08 +10:00
Oliver Walters
38100520df
Add 'to_order' and 'to_build' collapsible panels
2019-05-02 20:18:34 +10:00
Oliver Walters
fbb120da53
Use collapse template in allocation page
2019-05-02 18:53:03 +10:00
Oliver Walters
ad6f4e19b1
Add 'comment' field to part attachment model
2019-05-02 01:06:06 +10:00
Oliver Walters
7c11d917de
Bug fixes
...
- Part creation form was setting a field as HiddenInput() rather than its widget
- Added 'comment' file to FileAttachment model
2019-05-01 09:40:49 +10:00
Oliver Walters
c29827e45a
Add API endpoint and serializer for BuildItem model
2019-04-29 22:59:42 +10:00
Oliver Walters
6326d6d050
Fixed spelling mistake
2019-04-29 22:21:18 +10:00
Oliver Walters
c2a35b6656
Add 'active' field to Part model
2019-04-28 23:00:38 +10:00
Oliver Walters
ba49b080b0
Some small tweaks
2019-04-28 11:46:53 +10:00
Oliver Walters
ed3ae30248
Documentation for Part app
2019-04-27 22:18:07 +10:00
Oliver Walters
95be2755f4
Adjust SupplierPart supplier foreignkey
...
- Limit choices to 'is_supplier'
2019-04-27 13:10:21 +10:00
Oliver Walters
e57a8cdcd1
Fix rendering of BOM table view
...
- Edit and delete rows now works
2019-04-26 23:32:22 +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
e6617fef80
reverse URL lookup for BomItem and SupplierPart
...
- created empty test files
2019-04-25 01:05:08 +10:00
Oliver Walters
0bc5617825
Reverse url lookup for Part model
2019-04-25 01:00:01 +10:00
Oliver Walters
f9db3b680d
Reverse lookup for part category URL
...
- Added some test cases for PartCategory model
2019-04-25 00:28:40 +10:00
Oliver
6b05078fd2
Merge pull request #133 from SchrodingersGat/part-files
...
Part files
2019-04-18 00:23:09 +10:00
Oliver Walters
e707eb3a2b
Provide download link for part attachments
...
- Better upload management for attachment files (separated based on part ID)
2019-04-18 00:14:53 +10:00
Oliver Walters
cb7e98aa1c
Add extra BOM export format options
...
- Uses tablib (already used by django-import-export plugin)
- Needs cleanup but works well
- Problem exporting XLSX data (needs work!)
2019-04-17 23:52:15 +10:00
Oliver Walters
19a11eac1a
PEP fixes
2019-04-17 07:49:46 +10:00
Oliver Walters
52c3a63c61
Updated SupplierPriceBreak page
2019-04-17 00:48:01 +10:00
Oliver Walters
150bc1e674
Add API interface for SupplierPriceBreak
2019-04-17 00:35:49 +10:00
Oliver Walters
a3b544e2a4
typo fix
2019-04-17 00:21:11 +10:00
Oliver Walters
5cd837be07
Limit supplierpart part link to purchasable parts only
2019-04-17 00:14:22 +10:00
Oliver Walters
cd0b6a6511
Updated Supplier models
...
- Added cost calculation for supplier part
- Added more validators and help text
2019-04-17 00:09:39 +10:00
Oliver Walters
01bdf2f19b
PEP fixes
2019-04-16 22:32:43 +10:00
Oliver Walters
7eea9d1a20
Launch a modal to select BOM download format
...
- This will have to change! A client-side hack for now..
- Work out a better way to do this!
2019-04-16 21:46:12 +10:00
Oliver Walters
c706f00733
Skeletong for exporting BOM in different formats
2019-04-16 14:22:27 +10:00
Oliver Walters
bafce641a7
Limit sub-part choices to consumable parts only
2019-04-16 01:45:16 +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
ec98f7829e
Add context flag to enable editing mode
...
- pass ?edit=1 to the BOM
- Display page differently if in editing mode
-
2019-04-15 18:32:15 +10:00
Oliver Walters
d5186fc615
Add 'note' field to BOM item model
2019-04-14 18:26:11 +10:00
Oliver Walters
9e5eed5d5e
Move the export_bom function to the part model
2019-04-14 12:34:14 +10:00
Oliver Walters
cf374252c1
PEP fixes for /part
2019-04-14 09:25:46 +10:00
Oliver
7644617af0
Better string formatting for models
...
Allows for easier searching in drop-downs for ForeignKeys
2018-05-09 00:17:39 +10:00
Oliver
a2ff1d16f3
Introspection of build allocation
...
Yay for dicts
2018-04-30 22:45:11 +10:00
Oliver
b24ddac0b8
Part stuff
2018-04-30 22:30:15 +10:00