Commit Graph

619 Commits

Author SHA1 Message Date
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
0851a925fb Add ability to filter by whether the part is serialized or not 2020-05-12 20:18:28 +10:00
Oliver Walters
4615fbc0d8 Abillty to filter stock list by serial number 2020-05-12 20:15:37 +10:00
Oliver Walters
b9d0c60189 Pepper 2020-05-12 08:12:42 +10:00
Oliver Walters
c6cff1fb2e Fixes for StockItem tracking API
- Make the tracking API consistent with other API endpoints
2020-05-12 08:12:12 +10:00
Oliver Walters
17d0a015f2 Add API endpoint for StockItem attachment items 2020-05-11 23:32:40 +10:00
Oliver Walters
003b384abd Slight adjustment to page tabs for StockItem view 2020-05-07 10:04:16 +10:00
Oliver Walters
ea0d32fd3d PEP fixes 2020-05-07 09:58:29 +10:00
Oliver Walters
14132a6efa Add views / models / etc etc to support StockItem attachment 2020-05-07 09:57:54 +10:00
Oliver Walters
64f6238351 Add StockItemAttachment model 2020-05-07 09:39:28 +10:00
Oliver Walters
29335fa665 Add "rejected" status code for StockItem 2020-05-03 09:09:17 +10:00
Oliver Walters
9b2045025b StockItem page tweaks 2020-05-02 14:05:52 +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
087001f29d Fix BOM table rendering
- Price was not being sent in the PartBriefSerializer!
2020-04-28 23:17:15 +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
440fe155ff Change glyphicons for fontawesome
I think I gottem all
2020-04-28 09:31:51 +10:00
Oliver Walters
489dfa1823 Bug fix for a code path which resulted in a form failing validation but not showing any errors!
This one has been here for a while!
2020-04-27 20:45:01 +10:00
Oliver Walters
5e309a62f7 Display "Fulfilled" items
- Once a salesorder has been marked as "shipped" then the table is displayed differently
- The sub rows show stock items which have been fulfilled against the sales order
2020-04-27 10:31:38 +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
3c5ba75d27 PEP fixes 2020-04-26 16:44:35 +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
0892b160c6 "Fixes" for completing a build
- This will require a lot of unit testing to get right
2020-04-26 00:32:09 +10:00
Oliver Walters
4f0efec39f PEP and unit testing fixes 2020-04-25 23:24:00 +10:00
Oliver Walters
01a68270ea Add verbose names for multiple Build model fields
- Improve methods for different models
2020-04-25 23:17:07 +10:00
Oliver Walters
b351976ae9 Mark a SalesOrder as "shipped"
- Option to hide non-stock items from stock list
- Update models with new feature
2020-04-25 08:46:28 +10:00
Oliver Walters
77471cb89c Form for shipping a SalesOrder
- Returns "False" for now
2020-04-24 10:20:56 +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
7f020cbbf6 Enbiggen a whole lotta buttons 2020-04-23 19:41:14 +10:00
Oliver Walters
b70e79b778 Optionally add all SalesOrderAllocations to the SalesOrderLineItem serializer 2020-04-22 20:10:23 +10:00
Oliver Walters
5d1754ec32 Better display of where a StockItem is allocated 2020-04-22 17:39:59 +10:00
Oliver Walters
eb7b49784b StockItem serializer now includes the allocated quantity 2020-04-22 15:24:11 +10:00
Oliver Walters
d9698b10cc PEP fixes 2020-04-22 13:21:45 +10:00
Oliver Walters
1373425c29 Update definition for StockItemAllocation model
- Limit foreignkey choices
- Error checking
- Check if a StockItem is over-allocated
- Fix API serialization and filtering
2020-04-22 13:11:19 +10:00
Oliver Walters
2cb1b076f6 Create "SalesOrderAllocation" object
- Links multiple StockItem objects to a single SalesOrderLineItem
2020-04-22 12:12:48 +10:00
Oliver Walters
3a71a4f63a Fix for StockItem model
- Allow sales_order_line to be blank
2020-04-22 10:16:54 +10:00
Oliver Walters
6dd79af0b6 Expose "is_allocated" parameter on StockItem API 2020-04-22 10:11:40 +10:00
Oliver Walters
372958d939 Migrate more pages to the two_column template 2020-04-22 09:50:10 +10:00
Oliver Walters
09ccd6c5e2 PEP style fixes 2020-04-21 22:37:35 +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
2c6e8da90e Ability to filter StockItemList API by sales_order or sales_order_line 2020-04-21 17:33:02 +10:00
Oliver Walters
0d1919f10b Display an alert on a stock item page if that stock item is allocated to a salesorder 2020-04-21 16:59:14 +10:00
Oliver Walters
89ede3e103 Fix for SalesOrderLineItem allocation calculation
Also function to render a progress bar
2020-04-21 16:45:44 +10:00
Oliver Walters
a1376eeb9e The 'StockItem' model now has a reference to a SalesOrderLineItem 2020-04-21 15:04:21 +10:00
Oliver Walters
4ec5e9a907 Consolidate StockItem serializer 2020-04-20 08:24:43 +10:00
Oliver Walters
c72fce0cc5 Add "tracking items" back in 2020-04-20 01:14:19 +10:00
Oliver Walters
b2c40c91b7 PEP fixes 2020-04-20 01:11:25 +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
d57fed6142 Change fingerprint icon to barcode 2020-04-15 00:30:00 +10:00
Oliver Walters
e56c018a4a Display StockItem UID if one exists 2020-04-14 23:28:46 +10:00
Oliver Walters
977316cb3a Include UID field in StockItem API 2020-04-14 22:57:46 +10:00
Oliver Walters
ba4a1fd771 Add a 'uid' field to StockItem model
- To be used for barcode asociation and lookup
2020-04-14 22:54:05 +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
2506aa110b API changes
- Allow SupplierPart to be filtered by 'company' in addition to 'supplier' and 'manufacturer'
- Stock can now also be filtered by 'company'

(cherry picked from commit 1b1cd944be)
2020-04-13 20:20:33 +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
e3102900b6 Allow stock API to filter by parts which are not active 2020-04-11 14:41:07 +10:00
Oliver Walters
bc91975f2c Fixes for Stocktransfer API endpoint 2020-04-10 01:01:39 +10:00
Oliver Walters
5b2665edb1 Better API validation 2020-04-10 00:53:04 +10:00
Oliver Walters
41b3f1d39c API cleanup
Add / Remove / Count endpoints now work
2020-04-10 00:03:43 +10:00
Oliver Walters
3e5dc65c49 Bugfix for notes field 2020-04-10 00:03:21 +10:00
Oliver Walters
58a0f40889 Simplifiy stock adjustment APIs
- Separate API endpoints for count / add / remove / transfer
- Unit testing
2020-04-09 22:24:05 +10:00
Oliver Walters
1b3f8a9309 Unit testing for the stocktake API 2020-04-09 21:19:13 +10:00
Oliver Walters
f6a1ddf8e7 Re-enable stocktake API 2020-04-09 21:18:55 +10:00
Oliver Walters
97f605ef55 Remove some weird trailing zeros 2020-04-07 00:19:51 +10:00
Oliver Walters
96547b885e Include supplier-part information in Stock API 2020-04-06 22:02:23 +10:00
Oliver Walters
44c10c45cd visual consolidation 2020-04-06 20:50:33 +10:00
Oliver Walters
bbe714c8f7 Bugs!
Thanks, unit testing
2020-04-06 11:21:34 +10:00
Oliver Walters
bd407cd226 Rename "URL" to "link" for StockItem and StockItemTracking models 2020-04-06 10:43:06 +10:00
Oliver Walters
2530313e68 Add part_detail and location_detail to the StockItem detail class 2020-04-06 08:38:10 +10:00
Oliver Walters
94b9878c8d Bug fix for stock api
- If a part had an empty image, the thumbnail was improperly encoded
2020-04-05 22:57:42 +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
0cfb293ca9 List API now uses the thumbnail image 2020-04-05 00:19:37 +11:00
Oliver Walters
92f5648656 Fix API endpoints for Stock app 2020-04-03 12:20:43 +11:00
Oliver Walters
ccb637773f Add item count to StockLocation serializer 2020-04-03 11:41:51 +11:00
Oliver Walters
d4da6211be StockItem: filtering improvements
- Optional 'cacade' param
- Filter by null parent
2020-04-03 11:40:37 +11:00
Oliver Walters
fb94949538 Allow StockLocation filtering of null parent 2020-04-03 11:34:42 +11:00
Oliver Walters
5af2fae120 Simplify URLs for purchase orders 2020-03-22 19:47:08 +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
068c237c6e remove failing test 2020-02-18 23:59:37 +11:00
Oliver Walters
49118d8083 Do not let a StockItem be deleted if child items exist 2020-02-18 10:41:06 +11:00
Oliver Walters
49d5573f8b Bug fix: Update child/parent relationship when a StockItem is deleted
- Pass the child items up to the parent of the deleted item
- Fix unit tests
2020-02-18 08:42:55 +11:00
Oliver Walters
9e456f5a11 Flake fix 2020-02-18 08:15:05 +11:00
Oliver Walters
0f4d60dceb StockItem LIST API can now be filtered by StocKItem status 2020-02-17 23:32:43 +11:00
Oliver Walters
23aebab6d0 Display list of build outputs in the Build tab
- Allow StockList api to be filtered by Build id
2020-02-17 23:31:23 +11:00
Oliver Walters
e483b42df6 Logic fix for StockItem splitting
- The original is left in place
- The new item is moved
2020-02-17 22:56:54 +11:00
Oliver Walters
3715c5d637 Set the parent relationship when serializing StockItem object
- Keep track of which StockItem is came from
2020-02-17 22:44:41 +11:00
Oliver Walters
ae4ebab957 Display table of StockItems which have been split from the current item
- The StockItem list api now allows filtering by 'ancestor'
- Add 'children' tab for StockItem
- Needed to tweak the unit testing fixtures (yay thanks MPTT)
2020-02-17 22:37:55 +11:00
Oliver Walters
4f266958e3 Add custom migration
- Required to initialize the MPTT fields for the StockItem model
2020-02-17 22:11:44 +11:00
Oliver Walters
750dfcda07 Add 'parent' field for StockItem
- Allows StockItem to be tracked when it is split into multiple items
- Uses MPTT field
2020-02-17 21:52:31 +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
6d80788618 Allow stock-filtering and export using SupplierPart ID 2020-02-12 11:16:00 +11:00
Oliver Walters
8dd8505a2c More tab updates
- Add Stock tab
- Add Stock table for supplier part
- Allow stock API to be filtered by supplier-part ID
- Add Orders tab
2020-02-12 11:09:37 +11:00
Oliver Walters
265ed5115a Float parsing on StockItem tracking page 2020-02-12 08:19:08 +11:00
Oliver Walters
4bd4f2a0a3 Fix for bug b)
- Don't attempt to save if there are duplicates
- Fix overwritten variable name
- Provide correct return data to the form
2020-02-06 23:22:55 +11:00
Oliver Walters
2949289fab Fix for bug a)
- Would not create new StockItem for trackable part if Serial Numbers not provided
2020-02-06 23:11:47 +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
1a32e441b7 Add //TODO entry in stock tabs 2020-02-02 12:42:35 +11:00
Oliver Walters
1bdcbd1974 Markdownify the 'notes' field for StockItem
- New tab interface for the StockItem page
- Display / editing of notes field with markdown
2020-02-02 12:11:18 +11:00
Oliver Walters
b3ec748123 Display current stock item quantity in stock-adjust modal form 2020-01-06 08:52:28 +11:00
Oliver Walters
dbdbe69f7f Bug fix for test cases 2019-11-19 10:19:52 +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
003a2d9f3c Allow creation of stockitem with non-integer quantity
-  Also provided more translation strings
2019-11-19 10:00:08 +11:00
Oliver Walters
75774771dc Changes to StockItem model
- Stock adjustments need to accept decimal values
2019-11-19 09:18:41 +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
81a226c760 Added translation strings for stock.models 2019-11-19 08:46:25 +11:00
Oliver Walters
16f3dfb678 Removed old migration file 2019-11-16 20:39:10 +11:00
Oliver Walters
b7473be8ef Update stock adjustment dialog 2019-11-16 20:29:05 +11:00
Oliver Walters
2261973331 Ability to delete multiple stock items 2019-11-16 20:19:10 +11:00
Oliver Walters
789515e39d Add translations for the StockItem detail page 2019-11-16 20:14:08 +11:00
Oliver Walters
0effb584b9 Remove 'active' field
- Will work this change in at a later date
2019-11-16 20:13:51 +11:00
Oliver Walters
339126b27a Add new field "active" to StockItem model
- True by default
- Set to 'false' to mark a stockitem as 'deleted'
2019-11-16 19:41:36 +11:00
Oliver Walters
3e2a5263a5 Add stock information for top-level stock page 2019-09-27 09:59:14 +10:00
Oliver Walters
7c1615a2b6 Fix user recording when serializing stock 2019-09-24 07:59:59 +10:00
Oliver Walters
41c07fc423 Save user who created a stock item
- Handled differently for batch or serialized parts
2019-09-24 07:54:18 +10:00
Oliver Walters
6f54091354 Improve display of stock location 2019-09-20 00:03:59 +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
cb77506111 Simplify 2019-09-17 20:19:05 +10:00
Oliver Walters
4a0be0dfb8 Simplify 2019-09-17 20:15:50 +10:00
Oliver Walters
194ae49914 Export full_name for parts 2019-09-15 22:23:34 +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
9c84e9076f Consolidate stock export code
- Now defined in stock.admin as StockItemResource
- Much more control over format of exported data
- Exported data can be re-imported!
2019-09-15 19:29:18 +10:00
Oliver Walters
70e07470db Custom URL validators for more fields 2019-09-14 00:08:49 +10:00
Oliver Walters
8578a3b8d1 Add searching to other admin views 2019-09-13 23:32:49 +10:00
Oliver Walters
cb5db332d3 Manager for import/export of StockItem data 2019-09-13 23:00:21 +10:00
Oliver Walters
23b814569a Manager for importing StockLocation data 2019-09-13 22:44:50 +10:00
Oliver Walters
53c5324df6 Fix uniqueness test for stock item 2019-09-09 08:49:27 +10:00
Oliver Walters
108382cc89 Prefecth related data for stock export
- Example export reduced from 1,024 queries to 7
2019-09-09 08:17:26 +10:00
Oliver Walters
11c946be4d Export human-readable status code 2019-09-09 00:02:08 +10:00
Oliver Walters
231a669fe5 Export stock based on supplier 2019-09-08 23:53:09 +10:00
Oliver Walters
3d5542181a Move "Export" button onto stock table 2019-09-08 23:40:51 +10:00
Oliver Walters
8817b4d692 Icer button rendering for PurchaseOrder page 2019-09-08 23:27:54 +10:00
Oliver Walters
9212d6047f Add supplier information to exported data 2019-09-08 23:10:13 +10:00
Oliver Walters
cc452bc270 Export stock data 2019-09-08 23:01:16 +10:00
Oliver Walters
faf8b9f2f0 Form / view for downloading stocktake info 2019-09-08 22:37:27 +10:00
Oliver Walters
f4e71d6055 Add a buttony-boy
(cherry picked from commit 69ac5d870a2f1bc9589cd9b23212d3b51cf92c80)
2019-09-08 20:55:19 +10:00
Oliver Walters
2c969ef1c6 View for exporting stocktake / stock list
(cherry picked from commit bdad2d6178a14322ef225d08b13db86b6d7d0909)
2019-09-08 20:55:06 +10:00