Commit Graph

420 Commits

Author SHA1 Message Date
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
Oliver
feb45513f7 Prevent serial number for stock item with quantity > 1 2018-04-29 13:20:02 +10:00
Oliver
f49474ace5 Prevent recursive BOMs
- If A has B in its BOM, A cannot be added to the BOM of B
2018-04-27 23:42:23 +10:00
Oliver
06f9c67b11 Prevent part from adding itself as a BOM item 2018-04-27 23:23:44 +10:00
Oliver
f46c09e3a7 Added part category path string to serializer 2018-04-24 17:54:08 +10:00
Oliver
08ed128bea PEP style fixes 2018-04-23 21:18:35 +10:00
Oliver
ac3de4ce3d Add part detail page for company / supplier 2018-04-22 23:07:23 +10:00
Oliver
d44a4e174b Added 'tabs' to company view 2018-04-22 22:38:35 +10:00
Oliver
4bedf0ed4c Finally got migrations working together 2018-04-22 21:54:12 +10:00
Oliver
cef3c664f9 Moving 'supplier' to 'company' 2018-04-19 09:01:25 +10:00
Oliver
a4621295a6 Fixed spash page for customer index
Added 'notes' field to Part object
2018-04-18 01:44:55 +10:00
Oliver
8856d7f793 Renamed 'customer-order' app to 'customer'
- This app should manage more than just orders
- Moved the 'Customer' model into this app
2018-04-17 23:39:53 +10:00
Oliver
11b9fb10d8 Parts now know how many builds they are allocated to
- allocated_builds returns lists of active builds this part is allocated to
- allocated_build_count returns the total number of this part allocated to builds
- allocation_count returns total number of allocated parts (in the future this will also include those parts allocated to customer orders)
2018-04-17 22:26:57 +10:00
Oliver
0b40197cd2 Update 'Build'
- Part model now has active_builds and inactive_builds properties
-
2018-04-17 20:25:43 +10:00
Oliver
982803a0a7 Updated Part model
- Added 'default_location'
- Added 'default_supplier'
2018-04-17 18:23:39 +10:00
Oliver
45c5edee4d Added 'salable' field to Part model 2018-04-17 18:11:34 +10:00
Oliver
937470750b Added helper functions, improved UI 2018-04-16 23:26:02 +10:00
Oliver
a67d5b58db UI improvements 2018-04-16 23:09:45 +10:00
Oliver
118d045e50 Improved part logic
- Added field 'buildable' - can this part be made from other parts?
- Added @propery 'supplier_count'
- Improved part detail page with new features
2018-04-16 22:13:31 +10:00
Oliver
e43439ef5b Function to calculate how many parts can be made with current stock 2018-04-16 21:49:38 +10:00
Oliver
76ee150ca4 Moved tracking information to StockItem 2018-04-16 20:08:04 +10:00
Oliver
a91ff58d84 Flakey
Fixing python style errors
2018-04-16 01:02:17 +10:00
Oliver
8e6de1b832 Add pages for part tracking
- Edit / Delete / Create tracking info
- Improvements to many pages
2018-04-16 00:30:57 +10:00
Oliver
55b533d3ef Added edit views for stock
- StockItem
- StockLocation
2018-04-15 23:27:56 +10:00
Oliver
5861296974 Add view for BomItem model
- Create BOM item (auto-add to a parent part)
- Edit / delete
- View details
2018-04-15 21:29:24 +10:00
Oliver
8232baeed7 Improved list and detail views for supplier
Huzzah for bootstrap
2018-04-15 13:49:47 +10:00
Oliver
5b5b8f4d12 Fix parent error when deleting category
- Any child categories have their parent set to the parent of the deleted category
2018-04-15 11:25:57 +10:00
Oliver
54e78bf468 Ability to delete part
- Provides confirmation form
- Shows the flow-on effects (model.CASCADE) from deleting this part
- Bootstrap makes it prettyful
2018-04-15 09:08:35 +10:00
Oliver
21e3f415c6 Added ability to edit parts
- installed django_crispy_forms
- added EditPartForm in part/forms.py
- Vastly simplified parts views by using class views 
  (need to do this for the other apps too!)
2018-04-15 01:18:12 +10:00
Oliver
204874dcb4 Changed some category views to use boostrap list-group
- Looks much fancier!
2018-04-14 23:05:36 +10:00
Oliver
830d33763e Fix deletion of part category and stock location
- Category up part updated to parent
- Location of item updated to parent
2018-04-14 20:33:53 +10:00
Oliver
0550dad2d4 Added ability to attach file(s) to a part object
- Not yet fully working!
2018-04-14 18:44:56 +10:00
Oliver
72b44e15f4 Added image field to part
- Images are automatically renamed upon upload
- Part page displays img
2018-04-14 17:44:22 +10:00
Oliver
bc7e29aeb4 Update navbar with category links
- Part
- Stock
- Supplier
2018-04-14 16:32:41 +10:00
Oliver
e30a089c76 Move BomItem into the Part app
- Does not make sense to keep these separate
- Removed bom app entirely
2018-04-14 14:19:03 +10:00
Oliver
1da6df0c5e Separate API views into api.py
- Web views are still in views.py
- Files were getting too cluttered and hard to grok
2018-04-14 14:11:46 +10:00
Oliver
bd46f66d6b Begin to add views for part models
- List BOM items
- Show category listing as linked items
- Fix some pathing issues with InvenTreeTree class
2018-04-13 22:36:59 +10:00
Oliver
77fe0dc542 Remove requirement for unique IPN
- Blank IPN values did not count as 'unique'
2018-04-12 19:14:07 +10:00
Oliver
ed61ebe5b7 Starting to implement BOM management
- Each part can be made of other parts
- Disable tracking and project apps for now
- Project will change (eventually) to work order
- Part parameters have been disabled (for now)
2018-04-12 16:27:26 +10:00
Oliver Walters
6c7f5fdaf3 Added MinValue validator(s) 2017-04-16 17:05:02 +10:00
Oliver Walters
d0a66390f5 db unique_together 2017-04-16 01:24:00 +10:00
Oliver Walters
4f6802b9bf Part model updates 2017-04-16 01:11:04 +10:00
Oliver Walters
d3781427ad Part parameter fixes 2017-04-16 01:08:43 +10:00
Oliver Walters
7e1fbf8a04 Style fixes 2017-04-16 01:01:48 +10:00
Oliver Walters
5b49cff09a Prevent duplication of unique parts 2017-04-14 16:09:05 +10:00
Oliver Walters
2299cd0700 Further API improvements 2017-04-14 12:14:50 +10:00
Oliver Walters
39a6bcdf3e Improved Part API 2017-04-14 11:46:18 +10:00
Oliver
3704ad34dc Updated part API 2017-04-11 23:07:02 +10:00
Oliver
15582369d2 API for stock app 2017-04-11 18:58:44 +10:00
Oliver
338dcd3b72 Fixing python errors 2017-04-11 17:21:05 +10:00
Oliver
e06121ebda Updated API URLs 2017-04-11 09:41:03 +10:00
Oliver Walters
9a9a039fc9 Documentation for part fields 2017-04-01 13:31:48 +11:00
Oliver Walters
8ba4ea344e updates 2017-03-29 23:19:53 +11:00
Oliver Walters
68ae1110ad Updates
- Improved some models
- Added PEP check script
2017-03-29 08:37:41 +11:00
Oliver Walters
4fafe93d9c Updated part parameter 2017-03-29 15:45:50 +11:00
Oliver Walters
4dc0179484 Fixed PEP issues 2017-03-29 15:12:14 +11:00
Oliver Walters
11b790c3ec Added Part Templates 2017-03-29 15:02:59 +11:00
Oliver Walters
7ce5a9a7e5 Papa Pep 2017-03-28 23:38:12 +11:00
Oliver Walters
b5dc22f33a peppa pig 2017-03-28 23:31:41 +11:00
Oliver Walters
9aebdab1c2 pepper 2017-03-28 23:17:56 +11:00
Oliver Walters
deda73a50f Added stock status field 2017-03-28 22:27:46 +11:00
Oliver Walters
5c8cc035a4 Started work on cross-referencing
- part admin now shows total quantity in stock
- part model can return a list of projects it is associated with
2017-03-28 21:24:00 +11:00
Oliver Walters
be030991a5 Added PartRevision model
- Added 'trackable' field to Part
2017-03-28 18:17:32 +11:00
Oliver Walters
492c651324 Improved admin view for part 2017-03-28 17:49:01 +11:00
Oliver Walters
8229f02db6 BugFix and docs for InvenTreeTree 2017-03-27 23:08:03 +11:00
Oliver Walters
cc7593b44f Tree parent filtering
- Prevents recursion
2017-03-27 21:03:46 +11:00
Oliver Walters
514bd7a6bc Fixed recursion issues
Added InvenTreeTree base class
2017-03-27 09:05:54 +11:00
Oliver Walters
b919418fb5 Added a categorylist page
Displays list of all top-level part categories
2017-03-26 10:45:38 +11:00
Oliver Walters
ddd927c436 Added views for part and part category
- Worked out simple linking
- Category path displaying correctly
- Category page lists parts in category
2017-03-26 10:06:00 +11:00
Oliver Walters
ffb9132de2 Added "Part"
- Has IPN (internal part number)
- Linked to a PartCategory
2017-03-25 23:19:49 +11:00
Oliver Walters
bb4fc9820f Added PartCategory
- Parent can be null (top-level category)
- Parent can be other PartCategory
2017-03-25 23:07:43 +11:00