Commit Graph

4064 Commits

Author SHA1 Message Date
Oliver Walters
fc32d99327 Add "updated_before" and "updated_after" filter for stock API 2021-01-15 16:39:50 +11:00
Oliver Walters
ef3ac43c4a Add "last updated" date to stock table 2021-01-15 15:27:40 +11:00
Oliver Walters
85bce24e30 Limit matches to the 5 "most matchy" ones 2021-01-15 12:32:27 +11:00
eeintech
7d5571ba5b Merged changes from master 2021-01-14 08:52:56 -05:00
Oliver Walters
a70416abac Update translations 2021-01-15 00:04:31 +11:00
Oliver Walters
0134597747 Merge remote-tracking branch 'inventree/master' into label-api
# Conflicts:
#	InvenTree/locale/de/LC_MESSAGES/django.po
#	InvenTree/locale/en/LC_MESSAGES/django.po
#	InvenTree/locale/es/LC_MESSAGES/django.po
2021-01-14 23:56:23 +11:00
Oliver
449b462bf2
Merge pull request #1232 from SchrodingersGat/purchase-order-target-date
Purchase order target date
2021-01-14 23:26:58 +11:00
Oliver Walters
4fd0d7d8b5 Unit test fix 2021-01-14 23:06:49 +11:00
Oliver Walters
959914c78c Display overdue purchase orders in the calendar view 2021-01-14 22:19:32 +11:00
Oliver Walters
fef5b7548e Increase unit testing for order API 2021-01-14 22:06:53 +11:00
Oliver
af7af395f8
Merge pull request #1219 from rcludwick/secret_key
Fixes #1215.  Allow secret key to come from file.
2021-01-14 21:11:30 +11:00
Rob Ludwick
3cfe358102 Fixes #1215. Allow secret key to come from file. 2021-01-14 01:02:34 -07:00
Oliver Walters
02132fa495 Updated translation files 2021-01-14 17:55:00 +11:00
Oliver Walters
75e1442fce Display overdue purchase orders on the index page 2021-01-14 17:48:16 +11:00
Oliver Walters
e8fd597f29 Adds ability to edit target_date in purchaseorder form 2021-01-14 17:44:21 +11:00
Oliver Walters
21e8ddd1e6 Display overdue status on PurcahseOrder page 2021-01-14 17:42:38 +11:00
Oliver Walters
a8e6d0a89f Display overdue status in purchase order table
- Allow table to be filtered by "overdue" status
2021-01-14 17:37:10 +11:00
Oliver Walters
4d73aab090 Add "overdue" flag to serializer
- Also allow filtering by overdue status in the API
2021-01-14 17:33:24 +11:00
Oliver Walters
834d9ec9a1 Add "target_date" field to PurchaseOrder 2021-01-14 17:28:57 +11:00
Oliver Walters
1dc2636e45 Add option to show part quantity in various forms
Enabling this option can make BOM item forms *very* slow!
2021-01-14 15:20:42 +11:00
Oliver Walters
be41741b1e Bug fix for cancelling purchase orders 2021-01-14 14:37:49 +11:00
Oliver
76c938762c
Merge pull request #1228 from SchrodingersGat/stock-status-ste
Stock status ste
2021-01-14 14:24:47 +11:00
Oliver Walters
bb9fe98a7e Set status for multiple stock items at once 2021-01-14 14:04:24 +11:00
Oliver Walters
aac835f634 Add menu item to set stock status for multiple items 2021-01-14 13:41:38 +11:00
Oliver Walters
d459947949 Add "Can Build" column in BOM view 2021-01-14 13:34:51 +11:00
Oliver Walters
1cb951bd0b Fix for font-awesome icon 2021-01-14 12:08:54 +11:00
Oliver Walters
df327d4e64 Add stocktake_date field to stock API, and to stock table 2021-01-14 11:29:35 +11:00
Oliver Walters
1316e6bf5b Properly save user data when creating a new StockItem 2021-01-14 11:24:52 +11:00
Oliver Walters
890ce9ef95 Fix IPN comparison against null value 2021-01-14 10:58:29 +11:00
Oliver Walters
df335b683c Add #TODO 2021-01-14 10:54:34 +11:00
eeintech
c5778b6fb6 Added missing migration file (how did it escape?) 2021-01-13 17:33:55 -05:00
eeintech
e92e5dfe8f Merged master 2021-01-13 17:08:01 -05:00
Oliver Walters
b7bbc97218 Add unit test 2021-01-14 08:32:37 +11:00
Oliver Walters
9884fe5c5e Improve validators for 'filters' field 2021-01-14 08:15:05 +11:00
Oliver Walters
88a7b3251d Remove unused import 2021-01-14 08:14:32 +11:00
eeintech
af1abb7129 Added missing migration file 2021-01-13 14:57:16 -05:00
eeintech
59c0a50289 Separated category from part permissions and location from stock item permissions 2021-01-13 13:35:49 -05:00
eeintech
28fb1b5fab Added owner model to admin page and added test cases 2021-01-13 11:38:37 -05:00
Oliver Walters
6e4cf7c092 Catch db integrity errors 2021-01-13 22:07:30 +11:00
Oliver Walters
80c88b4fcc Update translations 2021-01-13 21:53:11 +11:00
Oliver Walters
4e2d3b7da2 Improvement for existing StockItemLabel template 2021-01-13 21:52:16 +11:00
Oliver Walters
e561b3a4fc Add StockItemLabel templates 2021-01-13 21:51:55 +11:00
eeintech
a1b2347784 Also allow part attachements and parameters to be deleted 2021-01-12 17:43:12 -05:00
eeintech
ba1862478c Allow user with part.change permission to delete BOM items 2021-01-12 17:34:11 -05:00
eeintech
0a0a47a5e4 Added location owner change test case to verify stock item owner in that location is also updated 2021-01-12 17:11:46 -05:00
eeintech
3054c637dd Removed f-string debug 2021-01-12 16:42:09 -05:00
eeintech
5ca03af3e2 Improved Owner.get_owner method and fixed tests (try#2) 2021-01-12 16:36:29 -05:00
eeintech
49c954aa68 Fixed test cases? 2021-01-12 15:02:44 -05:00
eeintech
452d22579a Removed f-string causing build failure 2021-01-12 13:23:14 -05:00
eeintech
b6135fda74 Updated templates and a lot of manual testing 2021-01-12 13:16:04 -05:00
eeintech
9eace09e0e Added owner create method and fixed post_save receiver 2021-01-12 10:53:17 -05:00
eeintech
6f3cbb4e14 Switched to global owner model, need to validate use-cases table and fix tests 2021-01-11 17:41:29 -05:00
eeintech
6a88bdb37d StockLocation owner is now a GenericForeignKey that can be set to user or group models 2021-01-11 12:56:40 -05:00
Oliver Walters
01e27a0d59 Add simplified 'barcode' function for StockItem 2021-01-12 00:22:58 +11:00
Oliver Walters
663a0a6165 Create simple label templates for stocklocation labels 2021-01-11 23:45:25 +11:00
Oliver Walters
d1d243fb14 Update label models 2021-01-11 23:44:11 +11:00
Oliver Walters
b6cd2c215a Adds function to provide simplified barcode for stock location 2021-01-11 21:32:31 +11:00
Oliver Walters
1368b06afa PEP fix 2021-01-11 19:46:17 +11:00
Oliver Walters
d91700fd39 StockLocation labels are now printable 2021-01-11 18:41:57 +11:00
Oliver Walters
af47b211fd Add dialog for selection of stock location labels 2021-01-11 17:22:04 +11:00
Oliver Walters
79b63e6d30 Update translation 2021-01-09 22:23:51 +11:00
Oliver Walters
a3c5ea1f2b Typo fix 2021-01-09 22:02:33 +11:00
Oliver Walters
21d5440f98 Remove unused views 2021-01-09 21:55:05 +11:00
Oliver Walters
e133fff03e Download PDF for labels 2021-01-09 21:50:42 +11:00
Oliver Walters
bdc7367e29 Add endpoint for printing labels 2021-01-09 20:43:48 +11:00
Oliver Walters
44e60a705e Add detail endpoints for the StockItemLabel and StockLocationLabel models 2021-01-09 08:20:29 +11:00
Oliver Walters
a0d1f95171 Add exception for new database table 2021-01-09 08:10:04 +11:00
eeintech
587bf26d94 Fixed style 2021-01-08 14:23:35 -05:00
eeintech
2f78c7c036 Updated stock tests quantities 2021-01-08 14:05:53 -05:00
eeintech
d25a719724 Merge branch 'stock_owner' of github.com:eeintech/InvenTree into stock_owner 2021-01-08 13:51:49 -05:00
Oliver Walters
7c7a67fcc6 Add filterable API for StockLocation labels 2021-01-08 23:08:30 +11:00
Oliver Walters
f0fa092c66 Add model for StockLocation label 2021-01-08 23:08:00 +11:00
Oliver Walters
80c7ee6dab Add ability to filter label by StockItem 2021-01-08 22:47:47 +11:00
Oliver Walters
446c744462 Expose stock items labels to the API 2021-01-08 22:19:52 +11:00
Oliver Walters
59bb5d15c8 Filter PartAttachment API list by Part reference 2021-01-08 08:43:00 +11:00
eeintech
67bc86c159 Updated stock owners migration file 2021-01-07 14:05:43 -05:00
eeintech
f26f1c38a2 Merged master 2021-01-07 13:50:29 -05:00
Oliver Walters
75f31ecc63 Update translations 2021-01-07 23:50:34 +11:00
Oliver Walters
47b0f40e97 Calendar view for build orders 2021-01-07 23:41:54 +11:00
Oliver Walters
76c86e7b2f Calendar view for purchase orders 2021-01-07 23:04:00 +11:00
Oliver Walters
38b6367453 PEP fixes 2021-01-07 22:34:17 +11:00
Oliver Walters
b7203f0ebb Switch between calendar and list view for sales orders 2021-01-07 22:32:17 +11:00
Oliver Walters
5f6442ba6b Render sales orders to a calendar view 2021-01-07 18:47:29 +11:00
Oliver Walters
b4277e09e8 Add fullcalendar javascript library 2021-01-07 14:21:32 +11:00
Oliver Walters
bb72658e76 Rearrange button options for StockItem 2021-01-07 00:18:18 +11:00
Oliver Walters
7ac7e8f969 Fixed unit test 2021-01-06 23:38:01 +11:00
Oliver Walters
a8e3e6c8db Update translation 2021-01-06 23:12:52 +11:00
Oliver Walters
e5b346e7fa PEP fixes 2021-01-06 23:09:26 +11:00
Oliver Walters
1d6a049c5a Annotate stock queryset with stale status 2021-01-06 23:06:49 +11:00
Oliver Walters
a5b18640af Display stale stock on index page 2021-01-06 22:30:12 +11:00
Oliver Walters
e62873a650 Display "stale" status on StockItem info page 2021-01-06 22:21:18 +11:00
Oliver Walters
ba915da22b Filter StockItem API by staleness 2021-01-06 22:20:54 +11:00
Oliver Walters
33d6396a4e Exclude expired stock from builds 2021-01-06 21:00:45 +11:00
Oliver Walters
580e7599a0 Prevent expired stock from being added to a sales order 2021-01-06 20:22:56 +11:00
Oliver Walters
9b086560cb Hide "expiry_date" column in Stock table if feature not enabled 2021-01-06 12:09:48 +11:00
Oliver Walters
d0fb69e67d Add option to enable / disable stock expiry feature
- Simply hides fields in form views
2021-01-05 08:50:07 +11:00
Oliver Walters
1335c85de1 Edit new stock settings on settings page 2021-01-05 00:59:10 +11:00
Oliver Walters
855098e30b Merge conflicting migration files 2021-01-05 00:58:48 +11:00
Oliver Walters
e715ea5d79 Merge remote-tracking branch 'inventree/master' into stock-expiry
# Conflicts:
#	InvenTree/common/models.py
2021-01-05 00:58:32 +11:00
Oliver Walters
213d6550d3 Add new setock settings 2021-01-05 00:54:05 +11:00
Oliver Walters
9a30108b75 Auto-update the expiry date in the StockItem form when switching Part selection 2021-01-05 00:37:42 +11:00
Oliver Walters
9dc9c0fcb7 Auto-populate expiry date for stockitem when created via the API
(Now with unit testing!)
2021-01-05 00:21:26 +11:00
Oliver Walters
da02ab3eac Add unit testing for view 2021-01-05 00:01:44 +11:00
Oliver Walters
7d7d5d24cc Pre-fill stockitem expiry date in CreateStockItem form 2021-01-04 23:40:51 +11:00
Oliver Walters
37dcf1c1cf Add "default_expiry" field to Part model 2021-01-04 23:36:11 +11:00
Oliver Walters
692cee113c Display "expiry date" column in stock table 2021-01-04 23:11:35 +11:00
Oliver Walters
4d7c60a130 Add "expired stock" table to index page 2021-01-04 09:46:14 +11:00
Oliver Walters
d1ce0f062e Improve unit testing for StockItem API 2021-01-04 01:22:43 +11:00
Oliver Walters
a0c95579b4 Display expiry status on StockItem page
- Also adds ability to filter Stock table by expired status
2021-01-04 00:21:47 +11:00
Oliver Walters
39b9dcfec9 Add 'expired' flag to StockItem serializer 2021-01-04 00:21:21 +11:00
Oliver Walters
1a930f7f80 Add ability to edit expiry_date for StockItem 2021-01-04 00:20:02 +11:00
Oliver Walters
6d4c81e68b Add ability to filter by 'expired' status in API 2021-01-04 00:19:48 +11:00
Oliver Walters
07cda765f0 Add "expiry_date" field to StockItem model
- Also adds "is_expired" function
2021-01-03 23:56:35 +11:00
Oliver
bc72cd612e
Merge pull request #1201 from SchrodingersGat/settings
Settings Improvements
2021-01-03 23:47:35 +11:00
Oliver Walters
0f9c4703cf Update unit testing 2021-01-03 23:33:47 +11:00
Oliver Walters
b05504e1c4 Add PART_VIRTUAL setting 2021-01-03 23:13:58 +11:00
Oliver Walters
0aeeba808c PEP fixes 2021-01-03 23:07:21 +11:00
Oliver Walters
6c7b648133 Implement global settings for assembly and template values of Part model 2021-01-03 23:06:51 +11:00
Oliver Walters
9fa37a9156 Improve visualisation of global settings 2021-01-03 22:57:39 +11:00
Oliver Walters
8e9c976e99 Update translations 2021-01-03 22:18:08 +11:00
Oliver Walters
2a91bb0c87 Update SupplierPart model to allow data importing
- django-import-export plugin seems to require null=True for char fields
- yes, this goes against django "best practice"
- Hopefully a better solution can be found
2021-01-03 22:16:32 +11:00
Oliver Walters
2ad090c224 pop purchase_price field for StockItemEdit form 2021-01-03 13:15:42 +11:00
Oliver Walters
fe0d356675 pops the purchase_price field instead of using a HiddenInput
Using a HiddenInput on a MoneyFormField causes a validation error, for some reason...
2021-01-03 13:13:14 +11:00
Oliver Walters
298e9cae65 Fix variable scope issue 2021-01-03 10:07:38 +11:00
Oliver Walters
725a70327a Add some unit testing 2021-01-02 22:21:37 +11:00
Oliver Walters
b2a732197b Fix target date form field for SalesOrder 2021-01-02 21:54:07 +11:00
Oliver Walters
2b57ffeb08 Custom date picker field
- Prevents picker from being "required" by the form
2021-01-02 21:50:10 +11:00
Oliver Walters
03276629c2 CSS tweaks 2021-01-02 21:41:47 +11:00
eeintech
3ff76fbdab Merging master and resolved conflict 2020-12-18 17:08:37 -05:00
Oliver Walters
08a8556fe7 Fix unit testing 2020-12-18 19:46:02 +11:00
Oliver Walters
13e924cc05 Fix default value for PO and SO codes 2020-12-18 16:10:55 +11:00
Oliver Walters
8e13a7b470 Add "overdue sales orders" to index page 2020-12-18 12:45:42 +11:00
Oliver Walters
c34196538b Filter API by overdue status 2020-12-18 12:40:47 +11:00
Oliver Walters
b21c6f0b99 Add overdue filter for salesorder table 2020-12-18 12:27:08 +11:00
Oliver Walters
c6134b54ab Add "overdue" status to SalesOrder serializer 2020-12-18 12:26:58 +11:00
Oliver Walters
000348f70f Add 'target_date' field to SalesOrder model 2020-12-18 12:19:16 +11:00
Oliver
8bb4683bbe
Merge pull request #1175 from eeintech/fix_stock_template
Keep 'stock actions' button enabled when on children tab
2020-12-18 12:02:39 +11:00
eeintech
1a48405491 Keep 'stock actions' button enabled when on children tab 2020-12-17 17:37:54 -05:00
eeintech
bcae1d09a8 Fixed category parameter templates settings view 2020-12-17 17:25:10 -05:00
Oliver Walters
06d9f4f982 Bugfix for duplicate IPN checks when blank IPN is used 2020-12-16 21:02:53 +11:00
Oliver
7df25df2af
Merge pull request #1168 from SchrodingersGat/order-date
Build Order Target Date
2020-12-16 19:36:10 +11:00
Oliver Walters
464d76a819 Update form title strings 2020-12-16 19:09:53 +11:00
Oliver Walters
447f0b0ed7 Update translations 2020-12-16 19:03:04 +11:00
Oliver Walters
0500036d0a settings.py - typo fix 2020-12-16 16:58:40 +11:00
Oliver Walters
261a9af4f5 Typo fix 2020-12-16 16:32:20 +11:00
Oliver Walters
a9310d4a39 Add a #TODO in code 2020-12-16 16:16:07 +11:00
Oliver Walters
a8704a05d6 PEP style fixes 2020-12-16 16:15:39 +11:00
Oliver Walters
597bf8be73 Add date input to build target_date 2020-12-16 16:13:38 +11:00
Oliver Walters
6ef4325eac Javascript formatting 2020-12-16 15:55:42 +11:00
Oliver Walters
1a07ae0936 Render link rather than just text 2020-12-16 15:48:41 +11:00
Oliver Walters
17d23fa47c Add overdue builds to the index page 2020-12-15 23:34:28 +11:00
Oliver Walters
c8c50af54b Filter builds by "overdue" status 2020-12-15 23:31:19 +11:00
Oliver Walters
51da26d21d Filter builds by "overdue" status 2020-12-15 23:27:59 +11:00
Oliver Walters
802dd5174c Add "target_date" for Build model
- Add "overdue" status to Build serializer
2020-12-15 23:24:37 +11:00
Oliver Walters
f11348c965 Improve rendering for login page 2020-12-15 22:39:57 +11:00
Oliver Walters
297bfd776c Pre-select a template if only one matching one exists 2020-12-15 12:31:02 +11:00
Oliver Walters
ef032d406f Bugfix for stock report filter 2020-12-15 11:57:52 +11:00
Oliver
980cb9522b
Merge pull request #1162 from SchrodingersGat/gunicorn-conf
Update default gunicorn conf file
2020-12-14 11:00:57 +11:00
Oliver Walters
55b7cd3d6a PEP fix 2020-12-14 10:44:38 +11:00
Oliver Walters
648595cf18 Hide purchase price field for non-purchaseable parts 2020-12-14 09:55:39 +11:00
Oliver Walters
d609e881c2 Update default gunicorn conf file 2020-12-14 09:43:07 +11:00
eeintech
1ef5a2b481 Display permission levels for each ruleset in Group admin list view 2020-12-10 15:38:48 -05:00
eeintech
33dfecfdef Added create view test cases for stock ownership 2020-12-03 13:29:59 -05:00
eeintech
3aad5111b5 Stock ownership: test case for edit stock location and item 2020-12-03 11:56:45 -05:00
eeintech
f99c83f69d Added test case for stock location ownership 2020-12-03 07:32:01 -05:00
eeintech
5c6939429a Improved handling of stock location owner 2020-12-02 17:19:41 -05:00
eeintech
1a7a460ba8 Hidden owner field when ownership control is disabled 2020-12-02 14:05:45 -05:00
eeintech
de1dfdcc38 Improved naming of new setting and variables 2020-12-02 13:38:53 -05:00
eeintech
2bdd1305ed Fix style 2020-12-02 13:26:26 -05:00
eeintech
c66ac2579e Updated StockItem create/edit view with ownership control 2020-12-02 13:25:33 -05:00
eeintech
2d7461f609 Updated StockLocation create/edit view with ownership control 2020-12-02 12:05:00 -05:00
eeintech
c9b3c16c6f Added help text on owner fields 2020-12-01 17:46:11 -05:00
eeintech
8dac6bb982 Updated template stock item logic and added to stock locations 2020-12-01 17:41:03 -05:00
eeintech
4104e7df8e Fixed template logic 2020-12-01 16:08:27 -05:00
eeintech
2c38be2d13 Added global setting and updated stock item templates 2020-12-01 15:54:05 -05:00
eeintech
e1fb7e5d98 Added owner field to both stock item and location tables and forms 2020-12-01 13:45:01 -05:00
Oliver Walters
47d38e1cca Change delete behaviour for parent build item
- was causing database integrity errors when a parent build existed
2020-12-01 10:24:51 +11:00
Bjoern Biesenbach
95f62d529f Fix sidenav in stocklist 2020-11-30 18:30:51 +01:00
Oliver Walters
ea2f5009c8 Vastly improved speed of BOM upload
- Was calculating the stock levels for *every* part, for *every* drop down
- Many many many calls were being made
- Just remove stock count entirely from the drop-down menus
2020-11-27 14:40:30 +11:00
Oliver
a5e6ac2300
Merge pull request #1148 from SchrodingersGat/order-parts
Order parts
2020-11-27 12:28:04 +11:00
Oliver Walters
50a88e4826 Revert "Add extra context to SupplierPartCreate form"
This reverts commit 5f8f0232a9.
2020-11-27 11:19:16 +11:00
Oliver Walters
6c68197e61 Allow part ordering from build view 2020-11-27 11:18:58 +11:00
Oliver Walters
7068f70811 Fixes for 'order parts' form
- Sometimes the part pk was not being retrieved properly
2020-11-27 11:18:45 +11:00
Oliver Walters
607cc90ce0 Add extra context to SupplierPartCreate form
(cherry picked from commit 5f8f0232a9)
2020-11-27 11:18:23 +11:00
Oliver Walters
5f8f0232a9 Add extra context to SupplierPartCreate form 2020-11-27 11:17:55 +11:00
Oliver Walters
56f05e2604 Fixes for 'non field' errors in forms
- Fixes issue where non-model fields would not show error text
2020-11-27 10:42:01 +11:00
Oliver Walters
083d7671d0 Bug fix for BOM table
If the BOM for part included a BomItem with the same PK as the top-level part,
the bootstrap-tree-grid library borked

Probably for good reason, too!

So we now ensure that the top-level key is unique
2020-11-24 21:19:19 +11:00
Oliver Walters
e3231bbedb Hide "pricing" information in the BOM table 2020-11-24 20:58:18 +11:00
Oliver Walters
b5d75d6e6a PEP fixes 2020-11-24 11:56:51 +11:00
Oliver Walters
ce82579930 Cleanup getRequiredParts function 2020-11-24 10:18:07 +11:00
Oliver Walters
371ec582e1 Cleanup queryset for BomItemEdit view 2020-11-24 09:43:49 +11:00
Oliver Walters
3391db506a Cleanup queryset for BomItemCreate view 2020-11-24 09:43:32 +11:00
Oliver Walters
af9b88de11 Fix for BomItem clean function
Handle the case where the sub_part does not exist
2020-11-24 09:33:26 +11:00
Oliver
73259c0bcb
Merge pull request #1140 from SchrodingersGat/request-frequency
Reduce duplicate function calls in custom context parser
2020-11-20 11:40:10 +11:00
Oliver Walters
20e8161038 Reduce duplicate function calls in custom context parser 2020-11-20 08:29:06 +11:00
eeintech
11745ebd6c Removed one too many indent 2020-11-19 15:32:42 -05:00
eeintech
4768c9cbb3 Fixed validation of SupplierPart edit form by forcing the value of single_pricing field 2020-11-19 15:31:39 -05:00
Oliver Walters
4049c8e915 Adds framework for "server health" display
- Adds global context object "system_healthy" (boolean)
- Framework for running system health checks
- Updated system info forms
- Displays warning next to user menu if system health errors exist

(cherry picked from commit ce6d626ab39147fc389de90815ca8baae2385d82)
2020-11-19 12:36:54 +11:00
Oliver Walters
599220a931 Fixes for custom SQL queries
- Don't use double quotes!
- NO NO NO!
- Single quotes only
2020-11-19 09:15:16 +11:00
Oliver Walters
24fd520ec3 Smallt tweaks for the Stock table 2020-11-18 15:03:51 +11:00
Oliver Walters
6144d7e209 Fix for StockItem creation form
- purchase_price field was required (should not be!)
- Fixed some validation issues
- Cleaned up form implementation
2020-11-17 15:29:44 +11:00
eeintech
ac2797c7a1 Improved API endpoint for category parameter templates 2020-11-16 16:10:00 -05:00
Oliver
d8e7c2a932
Update version.py 2020-11-15 16:53:27 +11:00
Oliver
20f6964b1f
Update version.py 2020-11-15 16:51:50 +11:00
Oliver
771efecaa2
Merge pull request #1127 from SchrodingersGat/settings-view-unit-test
Extra unit testing for settings forms / views
2020-11-14 09:19:31 +11:00
Oliver Walters
2e842503e6 Fix try statement 2020-11-14 07:39:51 +11:00
Oliver Walters
b738f8b143 Try transaction.atomic 2020-11-13 22:22:02 +11:00
Oliver Walters
aae1400929 Mayyyyyyyyyyyyybe? 2020-11-13 21:37:39 +11:00
Oliver Walters
5f9758e85f More fixes 2020-11-13 21:01:30 +11:00
Oliver Walters
03e852f957 Remove custom save method 2020-11-13 20:22:28 +11:00
Oliver Walters
f0777ead92 Removed eprint statements 2020-11-13 14:39:28 +11:00
Oliver Walters
0f42916521 Improve settings.py
- Load database config from either config.yaml or environment variables
- Mix and match, if you want!
- Move to use logging module rather than just printing stuff
- Error if required database parameters are not required
2020-11-13 13:38:01 +11:00
Oliver Walters
ee70e27f7d Change function name 2020-11-13 13:21:43 +11:00
Oliver Walters
01ff562dcd Extra unit testing for settings forms / views 2020-11-13 11:50:58 +11:00
Oliver
1d4b826d03
Merge pull request #1124 from eeintech/fix_nocategory_templates_error
Check that category was selected before fetching templates
2020-11-13 10:41:51 +11:00
Oliver
d777549a1a
Merge pull request #1123 from eeintech/fix_form_errors
Fixed disabling of form errors messing-up with global settings validation
2020-11-13 09:59:57 +11:00
eeintech
d4ac35b9aa Check that category was selected before fetching templates 2020-11-12 16:52:22 -05:00
eeintech
80b70fd2df Fixed disabling of form errors messing-up with global settings 2020-11-12 16:38:35 -05:00
Oliver Walters
362437e75e PEP fixes 2020-11-13 07:28:21 +11:00
Oliver Walters
f239c8f8c8 Add missing migration file 2020-11-12 22:04:50 +11:00
Oliver Walters
ae7fbd6112 Add PEP8-naming extension for flake
- Enforcing python naming checks
2020-11-12 21:53:04 +11:00
Oliver Walters
47cbf3071d Add option to add a single-quantity price-break when creating a new SupplierPart object
- Add unit testing!
2020-11-12 21:36:32 +11:00
Oliver Walters
534f43872f Bug fix for SupplierPart table 2020-11-12 20:14:10 +11:00
Oliver Walters
fd79f1ea0e Fixes for 'single pricing' for SupplierPart 2020-11-12 19:46:19 +11:00
Oliver Walters
6e7224ee7c Add "purchase price" field to PurchaseOrderLineItem table 2020-11-12 18:05:24 +11:00
Oliver Walters
0988040172 Catch exception where InvenTree setting object is referenced but the database is not migrated yet 2020-11-12 18:04:50 +11:00
Oliver Walters
cb3c86f87a Merge remote-tracking branch 'inventree/master' into currency-support
# Conflicts:
#	InvenTree/InvenTree/settings.py
#	InvenTree/InvenTree/urls.py
#	InvenTree/templates/InvenTree/settings/tabs.html
#	InvenTree/users/models.py
#	requirements.txt

IMPORTANT: Had to merge some migration files due to different migrations applied on the part model tables
2020-11-12 17:24:48 +11:00
Oliver Walters
96ef5e1bde Travis fixes 2020-11-12 15:37:21 +11:00
Oliver Walters
fe9749ba4f Add missing fixture for settings 2020-11-12 14:54:03 +11:00
Oliver Walters
21315096d4 Further unit testing fixes 2020-11-12 14:53:49 +11:00
Oliver Walters
1738df9042 Update unit tests 2020-11-12 14:48:57 +11:00
Oliver Walters
ec8d8e5a64 Add more invoke commands:
- export-records: Exports all database records to external file
- import-records: Imports database records from external file
- import-fixtures: Fills the database with dummy records
2020-11-12 13:31:27 +11:00
Oliver Walters
4a8170079e Remove code which automatically created settings objects on server launch 2020-11-12 12:31:03 +11:00
Oliver Walters
b7187c5e06 Fixes for purchase order table displays 2020-11-12 12:27:01 +11:00
Oliver Walters
391eeb0e46 Specify default currency when creating a new stock item 2020-11-12 11:50:59 +11:00
Oliver Walters
51d2d85c26 When creating a new price break for a supplier part, default to using the currency code specified for the supplier company 2020-11-12 11:14:50 +11:00
Oliver Walters
1532be9c1e Add 'currency' option for company
- e.g. an external supplier might have a default currency
- Adds a form input which only allows selection of allowed currency codes
- Add unit testing for currency validation
2020-11-12 11:02:10 +11:00
eeintech
b4fa56fd96 Fixed PART_CATEGORY_PARAMETERS duplicate (bad merging... oopsy) 2020-11-11 12:40:03 -05:00
eeintech
bfdda847c4 Updated part migration reference in 0054 2020-11-11 11:18:10 -05:00
Francois
a7444a9926
Merge branch 'master' into categories_parameters 2020-11-11 06:40:11 -05:00
Oliver Walters
039a7badd1 A little whoopsie-doo:
- Part.clean() was incorrectly referencing a BomItem when it should have been referencing BomItem.part
2020-11-11 16:09:14 +11:00
Oliver Walters
56765d3f5a Fix for unit testing 2020-11-11 15:19:15 +11:00
Oliver Walters
6c667937c5 Add requirement for django-error-report
- Provides an error log viewer in the admin interface at /admin/error_report/error/
- Allows viewing of error logs even in a remote production environment (i.e. no access to command line)
2020-11-11 14:10:12 +11:00
Oliver Walters
ebac06ebee Add 'single_pricing' form to the EditSupplierPartForm
- Idea here is to automatically create a unit-pricing price-break when a new SupplierPart is created
2020-11-11 13:55:25 +11:00
Oliver Walters
fc89501a62 Fix for SQL cursor query
- What works in SQLite don't necessarily fly with the big boys
2020-11-11 08:06:14 +11:00
Oliver Walters
5567ad07fd Update tests and translations 2020-11-11 00:31:39 +11:00
Oliver Walters
a19cf1f27a PEP fixes 2020-11-11 00:26:59 +11:00
Oliver Walters
4dff18e4a6 Remove common_currency model entirely
- A lot of views / pages / etc needed to be updated too
- Now uses django-money fields entirely
- Create a manual rate exchange backend (needs more work!)
2020-11-11 00:21:06 +11:00
Oliver Walters
1fc2ef5f18 Custom migration for PartSellPriceBreak 2020-11-10 22:31:46 +11:00
Oliver Walters
83582ae87f Add custom migration for the part_supplierpricebreak model
- Copies across existing pricing data
- Yikes
2020-11-10 22:25:05 +11:00
Oliver Walters
e4f2eecb3b Remove defunct 'build_order' field from StockItem model
- This is now handled by the new-and-improved build system, no longer required
2020-11-10 20:12:39 +11:00
Oliver Walters
978fd7c683 Implement default currency selection
- Add 'choices' option to InvenTreeSetting class
- Add support for ChoiceField in InvenTreeSetting form
2020-11-10 17:08:08 +11:00
Oliver Walters
48c20c600a List supported currencies in the configuration template 2020-11-10 16:28:55 +11:00
Oliver Walters
734436b02e Add integration of django-money
- Proper currency support
- Add PurchasePrice field to StockItem model
- This keeps track of both the price and the currency
- Display purchase price on the stockitem detail page
2020-11-10 16:22:42 +11:00
Oliver
9d9ef5fc9c
Merge pull request #1116 from SchrodingersGat/duplicate-ipn
Add setting to allow or prohibit duplicate IPN values
2020-11-10 10:52:30 +11:00
Oliver Walters
a6028f027a Add setting to allow or prohibit duplicate IPN values 2020-11-10 09:03:26 +11:00
eeintech
b17b8db25c Fix for #1111 (missing logic) 2020-11-09 17:00:12 -05:00
Oliver Walters
7286281a06 Fix for unit testing 2020-11-10 07:14:38 +11:00
Oliver Walters
c4296ad4f1 Update migrations and translation 2020-11-09 23:47:31 +11:00
Oliver Walters
c95f124578 Add some helper magic for setting objects
- If the setting is defined as a "bool" then the returned value is automatically cast to a bool
- Add some more unit testing
2020-11-09 23:44:54 +11:00
Oliver Walters
75ab7b247b Push part settings into part/settings.py
- Use the user-configurable defaults in the database model itself
- This means they are observed even when using the API / etc
2020-11-09 23:16:04 +11:00
Oliver Walters
e1b70ff68f Add default values for create part form 2020-11-09 22:52:32 +11:00
Oliver Walters
8149759852 Add some more part options which set the default values for the following fields:
- Purchaseable
- Salable
- Trackable
2020-11-09 20:26:19 +11:00
Oliver
826c471179
Merge pull request #1107 from eeintech/fix_postgres_migration
Fix PostGreSQL migration (permissions handler)
2020-11-06 07:58:56 +11:00
Oliver
dadf4d4c13
Merge pull request #1110 from eeintech/order_save_fix
Fixed saving of purchase and sales order create forms
2020-11-06 07:53:41 +11:00
eeintech
ba2da17f1e Disabled crispy form errors 2020-11-05 14:44:04 -05:00
eeintech
5b3dd63b89 Fixed saving of purchase and sales order forms 2020-11-05 14:38:54 -05:00
eeintech
684db67733 Added check for remove too 2020-11-05 09:37:01 -05:00
eeintech
0b76d1d036 Check if permission is not NoneType before adding to group 2020-11-05 09:34:18 -05:00
Oliver Walters
a35c4a5a95 Rename tabs for build order 2020-11-05 20:07:23 +11:00
Oliver Walters
2591d34260 Fixed bug where "New output" button stopped working
- Build status was changing from "PENDING" to "PRODUCTION"
- Created new check for active builds
2020-11-05 15:57:46 +11:00
Oliver Walters
d44092b209 Fix issue with shadowed form field
- Rename "quantity" to "output_quantity" to address this
2020-11-05 15:52:38 +11:00
Oliver Walters
8b7789cdb3 Set the specified location of a build output 2020-11-05 15:46:42 +11:00
eeintech
324645b67c Added same level category checkbox and method when adding category template 2020-11-04 12:26:10 -05:00
eeintech
e401bb8e3c Improved tests, fixed admin, improved naming 2020-11-04 12:06:07 -05:00
eeintech
1c14c2237a Moved category templates processing to Part save() method 2020-11-04 09:52:26 -05:00
eeintech
9eba564ff6 Merge branch 'master' of git://github.com/inventree/InvenTree into categories_parameters 2020-11-04 07:52:16 -05:00
eeintech
142cea0cbb Removed custom form save method, remove unused model methods, restored InvenTree CreateAjaxView, improved part related testing 2020-11-04 07:44:06 -05:00
eeintech
853a821497 Merge branch 'master' of git://github.com/inventree/InvenTree into fix_related_parts 2020-11-04 06:46:20 -05:00
Oliver Walters
f560be1a9a Bug fix: Part thumbnail API list was not working
- Part images could not be selected from grid
2020-11-04 15:41:17 +11:00
eeintech
4e157fe956 Fixed text for parent categories checkbox 2020-11-03 17:05:08 -05:00
eeintech
279d5a00ce Switched to get_ancestors to transverse all parents categories (not only root) 2020-11-03 16:58:53 -05:00
eeintech
5a5a36083e Finalized implementation when creating new part 2020-11-03 16:54:46 -05:00
Oliver Walters
56b287b2c8 Logic fix for editing stock item creation form 2020-11-04 08:29:09 +11:00
eeintech
72b5a105f8 Made all categories accessible for parameter templates configuration 2020-11-03 14:45:53 -05:00
eeintech
0882528b82 Missing class trailing space 2020-11-03 11:15:16 -05:00
eeintech
32b46cdc2a Added better PartRelated creation test 2020-11-03 11:14:31 -05:00
eeintech
de2b7e5daf Re-added post_save method in AjaxCreateView 2020-11-03 08:03:16 -05:00
eeintech
6b702ef676 Manually merged part migrations 2020-11-03 07:27:51 -05:00
Francois
b1885138de
Merge branch 'master' into categories_parameters 2020-11-03 07:01:56 -05:00
Oliver Walters
2e1a5a85a3 Bug fix for unit testing 2020-11-03 22:14:02 +11:00
Oliver Walters
3ea671986c Merge conflicting migration files 2020-11-03 21:29:25 +11:00
Oliver Walters
083dac1300 Merge remote-tracking branch 'inventree/master' into build-fixes 2020-11-03 21:26:39 +11:00
Oliver
1c503adced
Merge pull request #1026 from eeintech/user_unique_group_validation
Added check for multiple groups assigned to user
2020-11-03 21:21:08 +11:00
Oliver
ef2c04baa8
Merge pull request #1048 from eeintech/related_parts
Related Parts
2020-11-03 21:18:27 +11:00
Oliver Walters
897d9b4831 Update translation files 2020-11-03 21:02:31 +11:00
Oliver Walters
5988e847ce Add serial number suggestions 2020-11-03 21:01:14 +11:00
Oliver Walters
8d0845d92b Mark a build as "production" whenever a build output is created 2020-11-03 20:43:49 +11:00
Oliver Walters
ac03dab8de Tweaks 2020-11-03 20:37:33 +11:00
Oliver Walters
2b91f69c7d Fix unit tests 2020-11-03 20:19:24 +11:00
Oliver Walters
b936f67d87 Various form fixes
- Updating forms, a lot has changed!
2020-11-03 16:21:40 +11:00
Oliver Walters
152801f06f Dramatic speed improvements for build completion
- Might still need to be a background task at some point..
2020-11-03 15:56:20 +11:00
Oliver Walters
3f03adba72 Bug fix for stock table
- Grouped rows were not displaying the part name
2020-11-03 15:05:13 +11:00
eeintech
13a07be728 Added PartCategoryParameterTemplate tests 2020-11-02 15:35:54 -05:00
eeintech
6320384ecb Fixed category parameter template edit form 2020-11-02 15:05:37 -05:00
eeintech
43fab8a8b3 Backtracked on setting category choices (fixed failed migration) 2020-11-02 13:28:34 -05:00
eeintech
34b784d1e4 Added setting, checkbox (PartCreateView only) and hook to create part parameters from category templates 2020-11-02 13:14:31 -05:00
eeintech
978b5f869d Added checkbox to add parameter template to all categories 2020-11-02 12:20:29 -05:00
Oliver Walters
05613b9642 Further build tweaks / improvements 2020-11-02 23:47:36 +11:00
Oliver Walters
f5d0d54ded Improve modal error message 2020-11-02 23:02:02 +11:00
Oliver Walters
500da8099b Add forms / views for creating a new build output, and completing the build
- Also some refactoring of how forms are handled and saved
2020-11-02 22:56:26 +11:00
Oliver Walters
b02c87ea50 Lots of work towards multiple build output 2020-11-02 01:24:31 +11:00
Oliver Walters
f1b83f1c17 Update fixtues for unit testing 2020-11-01 15:34:42 +11:00
eeintech
3a347fba21 Added edit/delete for category parameter templates 2020-10-31 12:55:52 -05:00
eeintech
2a563d7370 Added category list of parameter templates table to settings 2020-10-31 09:18:33 -05:00
eeintech
3e5d8d2b2d Added form to select category in settings and update context data 2020-10-31 08:35:47 -05:00
eeintech
5310ce8465 First step into managing Category Parameters to InvenTree settings 2020-10-30 17:17:18 -05:00
eeintech
34ff05d66e Created PartCategoryParameterTemplate model and admin interface 2020-10-30 16:09:27 -05:00
Oliver Walters
95fadf1300 Update unit testing 2020-10-30 23:08:12 +11:00
Oliver Walters
3a702266e6 Merge remote-tracking branch 'inventree/master' into build-fixes
# Conflicts:
#	InvenTree/InvenTree/views.py
#	InvenTree/build/views.py
#	InvenTree/locale/de/LC_MESSAGES/django.po
#	InvenTree/locale/en/LC_MESSAGES/django.po
#	InvenTree/locale/es/LC_MESSAGES/django.po
#	InvenTree/order/views.py
#	InvenTree/part/api.py
#	InvenTree/part/views.py
#	InvenTree/templates/js/bom.js
2020-10-30 22:44:25 +11:00
Oliver
ad90adbc04
Merge pull request #1095 from SchrodingersGat/forms
Refactor how form errors are handled
2020-10-30 22:12:45 +11:00
Oliver Walters
1caa341f8e Fixes for unit tests 2020-10-30 21:34:56 +11:00
Oliver Walters
e049ca1a85 More refactoring 2020-10-30 16:54:05 +11:00
Oliver Walters
c533f59405 Refactor how form errors are handled
- Use form.add_error (as the django gods intended)
2020-10-30 16:04:56 +11:00
Oliver Walters
cabbdbb5cf Fixed a typo in bom.js 2020-10-30 15:53:13 +11:00
Oliver
fb28204dfd
Merge pull request #1093 from SchrodingersGat/bom-filters
Add filtering for BOM table
2020-10-30 12:45:46 +11:00
Oliver Walters
2428e77969 Add filtering for BOM table 2020-10-30 11:45:54 +11:00
Oliver Walters
5c5641d884 Update calls to post_save 2020-10-30 10:12:42 +11:00
Oliver Walters
2d583d19c2 Adds function to duplicate a BOM from a parent part
- Improves form validation workflow
- More 'djangoesque'
2020-10-30 10:08:06 +11:00
Oliver Walters
90cfb3496a Merge remote-tracking branch 'inventree/master' into build-fixes
# Conflicts:
#	InvenTree/locale/de/LC_MESSAGES/django.mo
#	InvenTree/locale/de/LC_MESSAGES/django.po
#	InvenTree/locale/en/LC_MESSAGES/django.po
#	InvenTree/locale/es/LC_MESSAGES/django.po
#	InvenTree/templates/js/bom.js
2020-10-29 15:23:51 +11:00
Oliver Walters
1d6d1121a7 Add some more icons 2020-10-29 13:58:05 +11:00
Oliver Walters
f1a7ac3187 Add icon badges to bom.js 2020-10-29 13:26:32 +11:00
Oliver Walters
fda0bff14c Tweaks to part.js 2020-10-29 13:20:42 +11:00
Oliver Walters
8246e9c802 Add function makeIconBadge for tables
- Add filters for part variants table
2020-10-29 13:18:45 +11:00
Oliver Walters
b3ac261746 Add filter for supplier part table:
Filter by "active" status
2020-10-29 12:50:17 +11:00
Oliver Walters
60a8ef723b Simplify display of possible conflicting parts
- Round to single digit
- Only show 5 closest matches

(cherry picked from commit ed8be5225d)
2020-10-29 12:42:38 +11:00
Oliver Walters
05ce17f8df Tweaks 2020-10-29 09:45:42 +11:00
Oliver Walters
a263d2fdcd Fixes for "auto allocate" concept 2020-10-29 00:49:01 +11:00
Oliver Walters
551064b3a4 Bugfix: BOM API now works slightly differently 2020-10-29 00:07:51 +11:00
Oliver Walters
544b63cac5 Merge remote-tracking branch 'inventree/master' into build-fixes
# Conflicts:
#	InvenTree/locale/de/LC_MESSAGES/django.po
#	InvenTree/locale/en/LC_MESSAGES/django.po
#	InvenTree/locale/es/LC_MESSAGES/django.po
2020-10-29 00:01:10 +11:00
Oliver Walters
4a7e9a2278 Update translations and PEP fixes 2020-10-28 23:59:18 +11:00
Oliver Walters
ed8be5225d Simplify display of possible conflicting parts
- Round to single digit
- Only show 5 closest matches
2020-10-28 23:48:35 +11:00
Oliver Walters
091a9d9803 Refactor how form errors are handled
- When in doubt, refer to the django docs
- There was a *much* better way (thanks, form.add_error)!
- The anti-pattern was deleted, and lo, there was much rejoicing
- Some other refactoring too
2020-10-28 23:33:33 +11:00
Oliver Walters
d8ada930c8 More template updates
- Add icons to more action buttons
2020-10-28 22:37:58 +11:00
Oliver Walters
d06b4d7c9f Merge remote-tracking branch 'inventree/master' into build-fixes
# Conflicts:
#	InvenTree/InvenTree/urls.py
#	InvenTree/locale/de/LC_MESSAGES/django.mo
#	InvenTree/locale/de/LC_MESSAGES/django.po
#	InvenTree/locale/en/LC_MESSAGES/django.po
#	InvenTree/locale/es/LC_MESSAGES/django.po
#	InvenTree/part/templates/part/bom.html
#	InvenTree/templates/js/build.js
#	InvenTree/templates/js/table_filters.js
#	InvenTree/templates/stock_table.html
#	tasks.py
2020-10-28 22:25:14 +11:00
Oliver Walters
44010fe05b Translation updates 2020-10-28 18:30:50 +11:00
Oliver Walters
d0b7d91ca4 Update multiple templates with fontawesome icons 2020-10-28 18:30:38 +11:00
Oliver Walters
d272eec384 Update translation files 2020-10-28 18:13:19 +11:00
Oliver Walters
5e70d8df7e Rename javascript files from .html to .js 2020-10-28 18:13:02 +11:00
Oliver Walters
c63480c65b Improve table for displaying what parts a particular part is "used in" 2020-10-28 18:12:38 +11:00
Oliver Walters
3ec2396ec1 Updated allocation card view 2020-10-27 23:33:51 +11:00
Oliver Walters
22a5f921b8 Auto-generate build outputs when a build is created 2020-10-27 23:09:17 +11:00
Oliver Walters
170d55d64e Add custom form validation step 2020-10-27 22:52:01 +11:00
Oliver Walters
4055a36db2 Updated modal forms 2020-10-27 22:29:34 +11:00
Oliver Walters
646fe40950 Require either serial or batch number to be set for trackable part 2020-10-27 22:00:38 +11:00
Oliver Walters
54d5d2899e Update javascript callbacks 2020-10-27 21:47:24 +11:00
James Newlands
c61eeca3e4 Even though nothing happened to the database schema, the field description changed 2020-10-27 15:58:05 +11:00
James Newlands
8bf281e153 Fix typo in new / edit part forms ("extenel URL")
Capitalisation consistency in "Create New Part" form title
2020-10-27 14:52:31 +11:00
Oliver Walters
06a3899325 Disable "unallocate" button if there are not any allocations 2020-10-27 09:26:16 +11:00
Oliver Walters
b5e1d3f87a Sorter fixes 2020-10-27 08:58:29 +11:00
Oliver Walters
4167e1fdb3 Update translation files 2020-10-26 22:51:57 +11:00
Oliver Walters
210d39c8b7 Bug fix - re-introduce settings_value custom tag
(cherry picked from commit 9203f541be)
2020-10-26 22:44:49 +11:00
Oliver Walters
d8a0ab8879 Fix for build table 2020-10-26 22:44:24 +11:00
Oliver Walters
9203f541be Bug fix - re-introduce settings_value custom tag 2020-10-26 22:44:16 +11:00
Oliver Walters
a4f6efc05d Merge remote-tracking branch 'inventree/master' into build-fixes
# Conflicts:
#	InvenTree/locale/de/LC_MESSAGES/django.po
#	InvenTree/locale/en/LC_MESSAGES/django.po
#	InvenTree/locale/es/LC_MESSAGES/django.po
#	InvenTree/templates/js/build.html
2020-10-26 22:38:43 +11:00
Oliver Walters
b38fde85f2 Added some more buttons, etc 2020-10-26 22:34:40 +11:00
Oliver Walters
5e0d1fe25a Allocate "non tracked" parts separately from tracked ones 2020-10-26 18:21:45 +11:00
Oliver Walters
7525bc2ead Attachment functionality for BuildOrder 2020-10-26 17:00:31 +11:00
Oliver Walters
664dd0000c Add database table for storing file attachments against a BuildOrder 2020-10-26 15:21:03 +11:00
Oliver Walters
8f108d42d2 Add ability to filter BOM status by "validated" field 2020-10-26 14:43:43 +11:00
Oliver Walters
24ab48ef4c Filter BOM table by "trackable" status 2020-10-26 13:53:34 +11:00
Oliver Walters
1a4eb3f870 Display which parts are "trackable" in a BOM table 2020-10-26 13:24:17 +11:00
Oliver Walters
815d4bf7eb Add new template_tag for defining variables 2020-10-26 09:11:25 +11:00
Oliver Walters
ffe15763a7 Update validation "rules" for BuildItem
- A BuildItem which points to a trackable part must also point to a build output
- A BuildItem which points to a non-trackable part cannot point to a build output
2020-10-26 08:34:17 +11:00
Oliver Walters
6aaf178f0b Check "trackable" status of part
- Where a BomItem connects a trackable sub_part with a non-trackable part, force the Part to be trackable
2020-10-26 08:29:06 +11:00
Oliver Walters
e978e1df52 Style fixes 2020-10-25 22:11:24 +11:00
Oliver Walters
5908890726 Create setting if it does not exist 2020-10-25 22:07:11 +11:00
Oliver Walters
549f50ac3f Update translations 2020-10-25 21:54:53 +11:00
Oliver Walters
9284837da8 Bug fixing 2020-10-25 21:45:37 +11:00
Oliver Walters
7d95faa4f5 Cleanup code 2020-10-25 21:43:33 +11:00
Oliver Walters
432ecc1d96 Display boolean values as checkboxes 2020-10-25 21:33:13 +11:00
Oliver Walters
3a325399c6 Use a checkbox input when editing a boolean setting 2020-10-25 21:00:06 +11:00
Oliver Walters
f1e8afa314 Add boolean validator 2020-10-25 09:36:58 +11:00
Oliver Walters
73296eafcb Update translation files 2020-10-25 08:18:33 +11:00
Oliver Walters
4d96b385b1 Add page for global settings 2020-10-25 08:17:41 +11:00
Oliver Walters
b57a78dea4 Add some context data to the view for editing a setting 2020-10-25 08:10:52 +11:00
Oliver Walters
e3f5e8fbb1 PEP fixes 2020-10-25 08:04:04 +11:00
Oliver Walters
3e17bf3316 Edit setting directly 2020-10-25 08:02:46 +11:00
Oliver Walters
10758a9626 Improvements for global settings
- Name and description are defined in models.py
- Lookup functions for name / description / units / default
- Shortcut template for rending settings
- More unit testing
2020-10-25 07:49:38 +11:00
Oliver Walters
767ceed698 Update translation files 2020-10-24 22:13:40 +11:00
Oliver Walters
c63a09330f Hide some buttons if row is fully allocated already 2020-10-24 22:05:19 +11:00
Oliver Walters
42c1210fba Calculate required build quantity 2020-10-24 13:16:43 +11:00
Oliver Walters
a3265ef9fd Unallocate stock against a particular line item 2020-10-24 13:15:13 +11:00
Oliver Walters
b7e7543be6 Add some more buttons to build table 2020-10-24 12:59:05 +11:00
Oliver Walters
b45a11aa3d Refactor: Add "makeIconBadge" javascript function 2020-10-24 00:33:30 +11:00
Oliver Walters
ea7b1b65d6 Delete a build output entirely
TODO: Needs to describe in the confirmation dialog what is going to happen!
2020-10-24 00:14:27 +11:00
Oliver Walters
a71a51b848 Build can be "unallocated" against a single build output 2020-10-23 23:52:59 +11:00
Oliver Walters
fb7d9a7edf Move "getAvailableStockItems" to the build model 2020-10-23 23:33:27 +11:00
Oliver Walters
0752df26dc Bug fixes for BuildItemCreate view:
- Add option to calculate required quantity against a particular build output, not just the build
2020-10-23 23:09:22 +11:00
Oliver Walters
076d5c4f7f Cleanup get_required_parts function 2020-10-23 22:49:46 +11:00
Oliver
5e63ccc9f6
Merge pull request #1043 from eeintech/unique_email_company
[Company] Allow duplicate names - Unique name/email pair
2020-10-23 13:23:48 +11:00
Oliver
cd4cb12937
Merge pull request #1064 from eeintech/company_permissions
Company permissions
2020-10-23 13:20:59 +11:00
eeintech
647182237e Merge branch 'master' of git://github.com/inventree/InvenTree into unique_email_company 2020-10-22 12:05:22 -05:00
Oliver Walters
5db043ab4b Launch modal dialog to auto-allocate against a specific build output 2020-10-23 01:05:59 +11:00
Oliver Walters
f4f6253178 Better table sorting for allocation quantity 2020-10-23 00:58:35 +11:00
Oliver Walters
33c454ed5a Add action buttons to each build output 2020-10-23 00:51:01 +11:00
Oliver Walters
6245d65ebc Tweaks 2020-10-23 00:08:40 +11:00
Oliver Walters
23ac83d2a8 Change extension on "dynamic" js files
- Yay, the editor now highlights code properly!
2020-10-22 23:59:21 +11:00
Oliver Walters
ae20db0ec6 Add actions for the sub-table allocation list 2020-10-22 23:57:07 +11:00
Oliver Walters
d37cdd8e50 Improved filtering for stockitems going into a buildallocation 2020-10-22 23:49:23 +11:00
Oliver Walters
fae516b38e Add build output selection to builditem creation form 2020-10-22 23:28:15 +11:00
Oliver Walters
1ca08f8bff Filter builditem API by 'output' stock item 2020-10-22 21:43:53 +11:00
eeintech
9131edc43d Company index: swapped 'title' for 'pagetype' for adding company button 2020-10-21 09:34:49 -05:00
eeintech
1ef21700c0 Fixed Part notes template (check for NULL value before mardown render) 2020-10-21 09:26:07 -05:00
Oliver Walters
f989d3b3ec Change to using spinner icon 2020-10-21 17:02:04 +11:00
eeintech
46b889c572 Assigned all user permissions for company tests 2020-10-20 14:52:34 -05:00
eeintech
de65e1631d Updated company templates permissions 2020-10-20 14:46:10 -05:00
eeintech
39eddc7203 Added user permissions on company views 2020-10-20 14:11:40 -05:00
Oliver Walters
96277edcf1 Improvements to progress bar function 2020-10-21 00:49:17 +11:00
Oliver Walters
8ae16a125e Build - Add functions to access build outputs 2020-10-21 00:24:55 +11:00
Oliver Walters
e02536071d Add a "completed" field to the Build model
- Keeps track of how many outputs have been produced
- Will not be directly editable by the user
2020-10-20 23:59:37 +11:00
Oliver Walters
fd6d630037 Improve grouping in Stock table 2020-10-20 23:45:36 +11:00
eeintech
5793839a01 Added UniqueConstraint on name/email pair, renamed migration file 2020-10-20 07:37:07 -05:00
Oliver Walters
3bb247a135 Create an initial stockitem output when a new build is created 2020-10-20 23:27:43 +11:00
eeintech
7bc925d016 Merge branch 'master' of git://github.com/inventree/InvenTree into unique_email_company 2020-10-20 07:19:48 -05:00
Oliver Walters
652c2dbcbe Automagically disable 'serial_numbers' field for StockItemCreate form
- Yay, ajax magic!
2020-10-20 22:37:55 +11:00
Oliver Walters
2e4613e702 Updates to build forms / etc 2020-10-20 22:37:21 +11:00
Oliver Walters
2df0f03a9a Change "ALLOCATED" to "PRODUCTION" 2020-10-20 21:10:36 +11:00
Oliver Walters
ac79e131bc Add "destination" field to BuildOrder 2020-10-20 21:01:51 +11:00
Oliver Walters
28460b3023 Validate that the BuildItem quantity is an integer 2020-10-20 20:42:29 +11:00
Oliver Walters
fdcef7b699 Add "install_into" field for BuildItem
- Points to which output stock item it will be going into
2020-10-20 20:37:57 +11:00
Oliver Walters
4193d2e7fe Except IntegrityError
- This error may be thrown if the correct migrations have not been applied
2020-10-20 19:52:04 +11:00
Oliver Walters
73a1765a11 Fix table sorting when groups are used.
This is necessary because the field names of the tables are specified like "part_detail.IPN" and multi-level string-based object access is weird.
Luckily someone has worked out the hard part for me.

Ref: https://stackoverflow.com/questions/6393943/convert-javascript-string-in-dot-notation-into-an-object-reference
2020-10-20 11:54:54 +11:00
Oliver Walters
a2ee172058 Updates tables for PurchaseOrder and SalesOrder 2020-10-20 08:45:17 +11:00
Oliver Walters
5a6697866f Update translations 2020-10-20 08:41:13 +11:00
Oliver Walters
406d7bcf80 Load build order prefix setting 2020-10-20 08:41:08 +11:00
Oliver Walters
7aa473712f Remove unused setting page 2020-10-20 08:32:00 +11:00
Oliver Walters
226a91718b Add a simple unit test for the settings model 2020-10-20 08:29:06 +11:00
Oliver Walters
c6e61c20fe Generate default settings for all InvenTreeSetting object 2020-10-20 08:24:23 +11:00
Oliver Walters
98d20bceeb Change "Build Title" to "Description" 2020-10-20 00:26:26 +11:00
Oliver Walters
e8a0095e50 Add some options for the build order settings page
- Not editable yet
2020-10-20 00:24:33 +11:00
Oliver Walters
a5639c380f Add regex validator to build order reference field 2020-10-20 00:13:43 +11:00
Oliver Walters
06040f94ee Remove "description" field from InvenTreeSettings key:value fields 2020-10-20 00:02:54 +11:00
Oliver Walters
92c1e3c1a5 Update settings pages 2020-10-19 23:50:39 +11:00
Oliver Walters
c13cee2407 Fixes for unit testing 2020-10-19 23:31:52 +11:00
Oliver Walters
9b7a9a3ee0 Update formatting of order pages 2020-10-19 23:23:16 +11:00
Oliver Walters
b5d15aab08 Add function to "predict" next build order reference value 2020-10-19 23:22:09 +11:00
Oliver Walters
5405ad566e Add 'reference' to API serializer 2020-10-19 22:53:40 +11:00
Oliver Walters
0b7cf9e7f3 Add "reference" to build order forms 2020-10-19 22:49:28 +11:00
Oliver Walters
a8d47c54f9 Upate admin interface 2020-10-19 22:40:19 +11:00
Oliver Walters
934078a42c Add "Reference" field to Build model 2020-10-19 22:36:14 +11:00
Oliver Walters
6b99d923d7 Change "status code" to "error code" 2020-10-19 16:44:33 +11:00
Oliver Walters
396b7dba73 Extra error information when a modal dialog fails 2020-10-19 16:42:53 +11:00
Oliver Walters
647e2cf64d Change text for barcode 2020-10-19 16:06:18 +11:00
Oliver Walters
634410294b Display table of items received against a particular purchase order
- Adds new tab to "Purchase Order" view
- Adds ability to filter StockList API by purchase_order ID
2020-10-19 11:40:57 +11:00
eeintech
dfa4d3f8ed Display IPN and pipe char only if IPN exists 2020-10-18 14:37:35 -05:00
eeintech
d1df647dde Merge branch 'master' of git://github.com/inventree/InvenTree into add_ipn_supplier_part_str 2020-10-18 14:33:38 -05:00
Oliver
529c4052ff
Merge pull request #1038 from mpdgraev/fix_int_barcode
fix error when submitting some non-dict barcodes
2020-10-19 00:01:38 +11:00
Oliver Walters
3c175a6c8d Update creation of StockItem via API
- If no location is specified, but a default location exists for the part, use that
- If a location is specified (even if it is null) then the specified value is used instead
2020-10-18 22:24:45 +11:00
Oliver
83077514cb
Merge pull request #1041 from eeintech/api_default_location
Added part 'default_location' to serializer
2020-10-18 22:01:35 +11:00
eeintech
5a6cac43f5 Updated migration 2020-10-16 15:42:23 -05:00
eeintech
0b26d68d0f Added admin view, improved validation of part related relationship 2020-10-16 15:29:58 -05:00
eeintech
34e4409e7f Functional checkpoint: add/delete related parts from template 2020-10-16 13:50:31 -05:00
eeintech
8579abb9c2 Added related parts urls, views, form and templates
Adding related part relationships work but are still not shown in the part detail page
2020-10-15 16:58:39 -05:00
eeintech
3d9223c2ee Introduced PartRelated model to store part relationships 2020-10-15 14:11:24 -05:00
eeintech
af6b30eaca Added IPN to Supplier Part string representation
Improved Supplier Part templates and fixed 'Order Part' button in supplier_part_orders
2020-10-15 13:09:00 -05:00
eeintech
dbee26aaad Fixed insertion of backslash in the barcode button group 2020-10-13 10:29:34 -05:00
eeintech
70a3b7f891 Improved migration, still fails if email duplicates exist in current DB 2020-10-13 07:43:57 -05:00
eeintech
ac82640c6c Company: allowed duplicate names, made email field unique, custom migration 2020-10-12 17:51:48 -05:00
eeintech
3143242d13 Added category 'default_location' to serializer 2020-10-12 13:14:24 -05:00
eeintech
eb98496a79 Added part 'default_location' to serializer 2020-10-12 07:25:32 -05:00
mpdgraev
f1f31a1338 fix error caused by assumption that json.loads() returns an object with a .keys() function 2020-10-09 16:32:54 +02:00
Oliver Walters
3d60bccae0 Add support for setting timezone in config.yaml 2020-10-08 21:02:38 +11:00
Oliver Walters
8b16304e84 Custom 404 page 2020-10-08 14:09:08 +11:00
Oliver Walters
b595f3b732 Normalize quantity field when exporting BOM 2020-10-08 14:05:55 +11:00
Oliver
305920d1ac
Merge pull request #1030 from eeintech/stock_permissions
Stock permissions
2020-10-07 14:11:52 +11:00
eeintech
01eee4d208 Fixed style 2020-10-06 10:40:58 -05:00
eeintech
8499ced636 Changed from validation error to warning message when group instance is saved 2020-10-06 10:38:06 -05:00
eeintech
19a2326638 Merge branch 'master' of git://github.com/inventree/InvenTree into user_unique_group_validation 2020-10-06 10:04:35 -05:00
eeintech
1ce2166843 Fixed context permissions for superuser with no group assigned 2020-10-06 09:59:51 -05:00
eeintech
5bcf8529ff Only users with Part view permission have part URL shown 2020-10-06 09:16:38 -05:00
eeintech
e4ce19d22a Added Test user and all permissions 2020-10-06 09:02:10 -05:00
eeintech
095cfe9845 Updated Stock permission views and templates 2020-10-06 08:55:40 -05:00
Oliver Walters
8b37229e4b The real translations are the ones we made along the way 2020-10-06 20:31:38 +11:00
Oliver Walters
b80e4302ba Update permissions for build app 2020-10-06 20:29:16 +11:00
Oliver Walters
2325b1e4ba Unit test fixes 2020-10-06 20:10:14 +11:00
Oliver Walters
9abb211cdf Update template permissions 2020-10-06 20:09:55 +11:00
Oliver Walters
1c97aaf87a Set permissions for order views 2020-10-06 19:46:53 +11:00
Oliver Walters
ab454e5ba4 More template changes: perms -> roles 2020-10-06 16:46:13 +11:00
Oliver Walters
88f73443ee Yet more style fixes 2020-10-06 16:43:39 +11:00
Oliver Walters
77a2b6de8b Merge branch 'part-permissions' of https://github.com/SchrodingersGat/InvenTree into part-permissions 2020-10-06 16:03:33 +11:00
Oliver Walters
b3e4efd96e Unit testing fixes 2020-10-06 16:03:19 +11:00
Oliver
e076470305
Merge branch 'master' into part-permissions 2020-10-06 12:35:45 +11:00
Oliver Walters
d691b15f4b Fix conflicts 2020-10-06 12:34:30 +11:00
Oliver Walters
11d31960c7 Change modal form permissions to use new "role" strategy 2020-10-06 11:42:16 +11:00
Oliver Walters
c740cce5e4 PEP fixes 2020-10-06 11:31:04 +11:00
Oliver Walters
dc2c9aa662 Add InvenTreeRoleMixin
- Simplifies permission requirements for views
- e.g. 'part.view' rather than 'part.view_partcategory'
2020-10-06 11:29:38 +11:00
Oliver Walters
d2e2e7511f Update templates: Change perms to roles 2020-10-06 10:07:39 +11:00
Oliver Walters
fa21d66c41 Fix logic for global context object 'roles'
- User may be a part of multiple groups
- Roles are additive across groups
2020-10-06 09:54:37 +11:00
Oliver Walters
23aee234f0 Change index page to use roles rather than perms to determine user permissions 2020-10-06 09:32:05 +11:00
Oliver Walters
556ffa1099 Change label for permissions to match django permission names 2020-10-06 09:28:05 +11:00
Oliver Walters
8b2189daca Add global context 'roles'
- Access via template e.g. {% if roles.part.view %}
- Always True if the user is a superuser
2020-10-06 09:27:22 +11:00
eeintech
911b23ca24 Added validation logic for user list to Group admin form 2020-10-05 13:12:52 -05:00
eeintech
d980da7247 Fixed permission assign test unit 2020-10-05 10:52:47 -05:00
eeintech
c910307ce5 Only saving Group model rulesets on instance creation and when inlines are saved 2020-10-05 10:04:54 -05:00
Oliver Walters
3f59ce3f93 Update unit tests
- requires the user to actually have the necessary permissions!
2020-10-06 01:30:36 +11:00
Oliver Walters
16d720b62c Update permission requirements for API
- Automatically use model permissions by default!
-
2020-10-06 00:36:55 +11:00
Oliver Walters
8ee16d6f98 update translation files 2020-10-06 00:20:57 +11:00
Oliver Walters
ba4c829b10 Add permission requirements in various part templates 2020-10-06 00:20:45 +11:00
Oliver Walters
afadd51a14 Fix permissions in views.py
Silly, "add" not "create"
2020-10-06 00:19:44 +11:00
Oliver Walters
66bdce3d04 Hide elements on the PartCategory page, based on permissions 2020-10-05 23:53:24 +11:00
Oliver Walters
4d49cb029f Change part views to require permissions
Also adds custom 403 page
2020-10-05 23:49:32 +11:00
Oliver Walters
3e9c7cda21 Change what elements the user can see on the index page, based on permissions! 2020-10-05 23:11:55 +11:00
Oliver Walters
806a7f961d Fixes for role permissions
- Fixed a strange interaction if multiple rulesets referred to the same models
- Order of operations was incorrect.
- Now is good? Yes!
2020-10-05 22:57:05 +11:00
Oliver
731c796254
Merge pull request #1011 from SchrodingersGat/navbar-permissions
Hide main elements of navigation bar based on user permissions
2020-10-05 11:17:41 +11:00
Oliver
dc41231fcc
Merge pull request #1018 from SchrodingersGat/group-roles
Roles and Permissions
2020-10-05 11:16:52 +11:00
Oliver Walters
898c604b3b Fix incorrect permission names
- Uses the app_model name, *NOT* the name of the database table
- Adds extra tests to ensure that permissions get assigned and removed correctly
2020-10-05 08:55:15 +11:00
Oliver Walters
095ef51991 Cleanup unit testing 2020-10-05 08:29:36 +11:00
Oliver Walters
bce7eb1aad update translation files 2020-10-05 01:02:36 +11:00
Oliver Walters
13cd8624b2 Fix permissions 2020-10-05 01:01:56 +11:00
Oliver Walters
48e050d317 Add some more unit tests and validation code for the StockItem model
- Ensure that the build part matches the stockitem part!
2020-10-05 00:49:00 +11:00
Oliver Walters
3ee7be1d58 Add "optional" field to BomItem
- Defaults to False
- Indicates that the BomItem is "optional" for a build
- Will be used in the future when calculating if a Build output is fully allocated!
2020-10-05 00:42:09 +11:00
Oliver Walters
c1595396c4 Unit testing: fix PEP issues 2020-10-05 00:29:31 +11:00
Oliver Walters
fe3a72c6cc Add some unit testing 2020-10-05 00:29:06 +11:00
Oliver Walters
26d113e8ad Update IN_STOCK_FILTER to reject stock items which have is_building set to True 2020-10-05 00:14:04 +11:00
Oliver Walters
ee28b4eea5 Add "is_building" field to StockItem model
- This will be set to TRUE until a stock item has been completed
2020-10-05 00:12:42 +11:00
Oliver Walters
62734c4b72 Add a custom template for the install item form 2020-10-05 00:01:01 +11:00
Oliver Walters
3fe0886207 Remove a debug statement 2020-10-04 23:49:01 +11:00
Oliver Walters
852da6d696 Fix form validation 2020-10-04 23:48:15 +11:00
Oliver Walters
42a75a8238 Add hidden input to the InstallStockForm form
- keeps track of "part" object
- so we can filter the stock_items queryset if the form validation fails
- Is there a more djangonic way of doing this??
2020-10-04 23:45:52 +11:00
Oliver Walters
46f459b4c7 Better display of stock table 2020-10-04 23:34:02 +11:00
Oliver Walters
b9291c6705 Improve transaction note recording for the StockItem model 2020-10-04 23:33:43 +11:00
Oliver Walters
824ce6778f Progress bar tweaks
- If no maximum value supplied, just show the value (and fill to 100% width)
2020-10-04 23:33:20 +11:00
Oliver Walters
3c5968ef1a Add subrow table to the "installed items" view
Ah, javascript...
2020-10-04 22:58:41 +11:00
Oliver Walters
9c27680202 Finish function to install stock item(s) 2020-10-04 21:32:21 +11:00
Oliver Walters
45c888e13d Custom cleaning for form
Ok, looks like I've been doing this wrong the whole time!
The "djangonic" way is pretty cool
2020-10-04 21:31:44 +11:00
Oliver Walters
a686500df1 Calculate initial values for the view 2020-10-04 21:02:20 +11:00
Oliver Walters
fd22e713ff Filter available stock items by Part reference 2020-10-04 20:50:06 +11:00
Oliver Walters
f04977e7e1 Add form / view for installing a stock item into another stock item 2020-10-04 20:41:28 +11:00
Oliver Walters
b467c8a1ef Add front-end functions to render an "installed stock" table 2020-10-04 15:17:46 +11:00
Oliver Walters
b27f926310 Add ability to filter BOM API by "trackable" status of the sub_part object 2020-10-04 13:51:52 +11:00
Oliver Walters
fb09f53dc9 Add missing migration file 2020-10-04 12:58:45 +11:00
Oliver Walters
929411e49a Remove "general" ruleset 2020-10-04 12:53:24 +11:00
Oliver Walters
31b699d521 Hide "user permissions" view from the admin interface 2020-10-04 12:47:19 +11:00
Oliver Walters
cda52a58e3 Remove manual 'permissions' control from groups admin interface
- Does not actually *do* anything any more as the RuleSet approach overrides it anyway
2020-10-04 12:19:56 +11:00
Oliver Walters
c19c014f55 Add or remove permissions from groups as defined by the RuleSet links
- Only runs when the group is changed
- Does not add permissions if they already exist
- Does not remove permissions if they do not exist
2020-10-04 12:18:31 +11:00
Oliver Walters
d5c0c12d78 Add some more unit testing
- ALL models must be covered by rulesets
- Added a RULESET_IGNORE list for models we do not want permissions for
2020-10-04 11:03:14 +11:00
Oliver Walters
c09b4980ad PEP fixes 2020-10-04 00:43:02 +10:00
Oliver Walters
1ded9e1fc0 Add a warning showing which databases tables are not covered by defined rulesets 2020-10-04 00:38:53 +10:00
Oliver Walters
6c2eb959a6 More unit testing 2020-10-04 00:34:22 +10:00
Oliver Walters
2039100d3e Add some unit testing 2020-10-04 00:24:48 +10:00
Oliver Walters
6bc5fe2497 Tab fix 2020-10-04 00:03:10 +10:00
Oliver Walters
9e4cc73b1c Add migration files 2020-10-04 00:01:18 +10:00
Oliver Walters
16f1b4c784 Add hook to update group permission roles
(doesn't do anything yet)
2020-10-03 23:45:24 +10:00
Oliver Walters
bedda66949 Add custom admin view for the "Group" model
- Ref: https://github.com/Microdisseny/django-groupadmin-users
- Adds ability to edit users within a particular group from the group admin page!
2020-10-03 17:37:20 +10:00
Oliver Walters
c7403fd512 Add shell interface 2020-10-03 16:18:03 +10:00
Oliver Walters
f12f8156bd Fix for "next avilable serial number" string 2020-10-02 13:54:23 +10:00
eeintech
496232ed6d Added tests for Category parameters methods, some code clean-up 2020-10-01 13:46:56 -05:00
eeintech
9d3d9a190b Added bootstrap table 'filter-control' extension to use in parametric tables 2020-10-01 12:10:35 -05:00
eeintech
15e1c05791 Fixed 'Part' column sorting 2020-10-01 11:05:08 -05:00
eeintech
b7d25a75c4 Hide part toolbar, nicer part representation, improved parameters prefetching 2020-10-01 10:03:49 -05:00
eeintech
a71b5ef0a0 Merge branch 'master' of git://github.com/inventree/InvenTree into parametric_part_tables 2020-10-01 09:02:21 -05:00
eeintech
4763f3ea46 Reformulated empty query message 2020-09-30 11:53:14 -05:00
eeintech
87d836617e Merge branch 'master' of git://github.com/inventree/InvenTree into empty_search_query 2020-09-30 11:50:12 -05:00
Oliver
4f648f8787
Merge pull request #1010 from SchrodingersGat/admin-permission-fixes
Update admin links to require specific permissions
2020-10-01 00:37:43 +10:00
Oliver Walters
756f3ddb0f Hide main elements of navigation bar based on user permissions 2020-10-01 00:25:24 +10:00
Oliver Walters
626d0266c8 Add framework for required permissions for any ajax modal forms
- Default permissions of "*" will not immediately change any modal forms
- Set the permission_required attribute of any modal form for this to be implemented
2020-10-01 00:16:04 +10:00
Oliver Walters
56660d52f2 Add "permission denied" message on modal forms 2020-10-01 00:09:21 +10:00
Oliver Walters
81864a6ab8 Fix button layout for stock table 2020-10-01 00:00:37 +10:00
Oliver Walters
27656633df Update admin links to require specific permissions 2020-09-30 23:57:23 +10:00
Oliver Walters
a952dc38a3 Add filtering for parts which have an IPN set 2020-09-30 23:35:39 +10:00
Oliver
c4cae02170
Update version.py 2020-09-30 08:06:58 +10:00
Oliver
8ea2c627c4
Update version.py
Bump version number for release
2020-09-30 08:06:37 +10:00
Oliver Walters
4f1d087654 PEP fix 2020-09-30 07:56:44 +10:00
eeintech
40d8a07acc Now loading data! Still need to be bonified 2020-09-29 16:49:53 -05:00
eeintech
d05a5978a0 Unique parameters names from category makes it to bootstrap table 2020-09-29 16:13:08 -05:00
eeintech
6b48977e7b Added 'Parametric Table' tab to category detail view, added part_count to 'Parts' tab 2020-09-29 15:16:12 -05:00
Oliver Walters
d1cce7df94 Add direct admin links if the user is staff 2020-09-30 00:02:10 +10:00
Oliver Walters
0e5f10c020 Add some more search terms to the admin interface 2020-09-29 23:41:50 +10:00
Oliver Walters
1f6cbd7408 Add action to uninstall a particular stock item 2020-09-29 23:11:37 +10:00
eeintech
18e19d7920 Empty search query returned all elements from database 2020-09-28 16:34:41 -05:00
Oliver Walters
e78e649aa9 Change layout for the index page
- Expanding one table doesn't force the neighbouring one to be expanded also
2020-09-28 22:22:48 +10:00
Oliver Walters
38beaff01b peppy 2020-09-28 22:09:09 +10:00
Oliver Walters
d348d90fbe Cleanup errors in unit testing 2020-09-28 22:08:38 +10:00
Oliver Walters
ae55c81dae Updated translation files 2020-09-28 22:04:08 +10:00
Oliver Walters
54bfcff213 CHange "parts" to "items" 2020-09-28 22:03:41 +10:00
Oliver Walters
b2b22762ef style fixes 2020-09-28 22:01:45 +10:00
Oliver Walters
a18886f196 Add some unit tests for the new functions 2020-09-28 22:00:17 +10:00
Oliver Walters
df8d1fb32b Add functions to install and uninstall stock items 2020-09-28 21:52:23 +10:00
Oliver Walters
81ce284264 Select the "default" where we wish to uninstall parts 2020-09-28 21:41:35 +10:00
Oliver Walters
39cfe39172 View / form / url for stock-uninstall form 2020-09-28 21:27:27 +10:00
Oliver Walters
2ef8464a83 Add buttons to remove installed items from a stock item 2020-09-28 20:27:13 +10:00
Oliver Walters
b58f7d7461 Custom table display for installed stock items 2020-09-28 20:19:56 +10:00
Oliver Walters
d684ed076b Improve table filter naming 2020-09-28 20:10:29 +10:00
Oliver Walters
f253bf1843 Add ability for stock API to be filtered by installed status 2020-09-28 20:07:25 +10:00
Oliver Walters
8dd8e69c05 Add "installed parts" tab for stock item 2020-09-28 19:34:43 +10:00
Oliver Walters
97b35d9269 Renamed related name "owned_parts" to "installed_parts" 2020-09-28 19:33:32 +10:00
Oliver Walters
b76e6a5023 Bugfix: Test result ordering was reversed! 2020-09-28 09:02:17 +10:00
Oliver Walters
8a4597be6a Adds ability to filter stock API results by batch code 2020-09-23 09:11:46 +10:00
Oliver
fb247c3dd8
Merge pull request #994 from SchrodingersGat/docs-update
Update links to documenation
2020-09-23 08:51:07 +10:00
eeintech
120a17241e Reduced SQL load for 'Require Stock to Complete Build' widget on homepage 2020-09-22 11:24:09 -05:00
Oliver Walters
07adee3c51 Update links to documenation 2020-09-21 22:44:48 +10:00
Oliver Walters
5d6e20d897 Build display improvements
- Reload AJAX table instead of entire page
- Clean up auto-allocate page
- Add extra message
2020-09-21 08:05:31 +10:00
Oliver
7dbb6c7c8e
Merge pull request #988 from SchrodingersGat/sell-price
Sell price
2020-09-19 23:52:25 +10:00
Oliver Walters
f19a727a02 Allow searching by stock item batch code 2020-09-19 23:40:06 +10:00
Oliver Walters
89b3290068 Add search results for stock items 2020-09-19 23:38:33 +10:00
Oliver Walters
083bfe05c0 Add ability to search stock API
- serial number
- part information
2020-09-19 21:49:07 +10:00
Oliver Walters
2e1388475e Filter stock tables by serial number 2020-09-19 21:39:43 +10:00
Oliver Walters
b30754f561 Animate hourglass icons 2020-09-19 21:26:34 +10:00
Oliver Walters
b9594db832 Add some hourglass loading icons 2020-09-19 21:23:36 +10:00
Oliver Walters
597ab37ba6 Further cleanup 2020-09-19 21:18:29 +10:00
Oliver Walters
1b6843e72d Cleanup "bom_invalid" filter
- Allow filtering by bom either valid or invalid
- Use "bom_valid" as the filter (positive tense)
2020-09-19 21:03:49 +10:00
Oliver Walters
87d0d872e0 Fix spelling mistakes 2020-09-19 20:45:00 +10:00
Oliver Walters
b8509f7533 Add ability to filter builds by "active" status 2020-09-19 20:42:20 +10:00
Oliver Walters
11a17fb9b1 Implement a "simplified" part table which does not enforce extra filtering 2020-09-19 20:35:30 +10:00
Oliver Walters
eaf42b8abe Instead of creating a custom filter for "latest" parts,
simply make use of the existing "ordering" query as part of DRF
2020-09-19 20:26:17 +10:00
Oliver Walters
86660a5f17 style fixes 2020-09-19 19:52:48 +10:00
eeintech
6540fb968e Merge branch 'master' of git://github.com/inventree/InvenTree into new_homepage_layout 2020-09-18 11:52:26 -05:00
eeintech
c55fa13cdb Added part list which require more stock to be built 2020-09-18 11:40:50 -05:00
Oliver Walters
ca1281ee10 Adds ajax table for part sale price information 2020-09-18 22:11:51 +10:00
Oliver Walters
ff7570aea4 VIews / forms / etc 2020-09-18 21:49:56 +10:00
Oliver Walters
1a90106bac Add a tab for part sale prices 2020-09-18 21:20:28 +10:00
Oliver Walters
a95dd86540 Limit choices for the 'Part' reference in the new model 2020-09-18 09:16:59 +10:00
Oliver Walters
71c0406cf3 Register new model in the admin interface 2020-09-18 09:16:41 +10:00
eeintech
945c3c214d Added outstanding purchase and sales orders views to homepage 2020-09-17 17:19:19 -05:00
eeintech
3d597cc3c3 Added 'Pending' builds report to homepage, includes builds with 'Allocated' status 2020-09-17 14:36:05 -05:00
Oliver Walters
8f1b018f0a Add table for price breaks for selling a part 2020-09-17 23:22:37 +10:00
Oliver Walters
e51fee081b SupplierPart price break table now uses API rather than django template 2020-09-17 23:19:50 +10:00
Oliver Walters
805e8daa57 Convert SupplierPriceBreak model to use the abstract PriceBreak class 2020-09-17 22:47:31 +10:00
Oliver Walters
95c5c4b575 Fix issues with circular imports 2020-09-17 22:44:17 +10:00
alex
d10ba5edc3 handle case where stock item does not have a location set; also show header 2020-09-17 00:55:54 -07:00
alex
6ed604bbb8 fix erroring html 2020-09-17 00:49:17 -07:00
eeintech
28a55f0a58 Merge branch 'master' of git://github.com/inventree/InvenTree into new_homepage_layout 2020-09-16 17:03:59 -05:00
eeintech
a9fffe6a73 Added latest parts and invalid BOMs on homepage 2020-09-16 17:02:24 -05:00
eeintech
472e2d0acd Fixed borders of navbar barcode button 2020-09-16 09:44:12 -05:00
Oliver Walters
d674eacd78 Ensure correct path separator is returned 2020-09-13 21:10:11 +10:00
Oliver Walters
32cde5d8f1 Fixx css for multiple button groups 2020-09-13 20:56:05 +10:00
Oliver Walters
04c702e1b8 Improve action buttons for part display 2020-09-13 20:42:59 +10:00
Oliver Walters
aa35c787b2 Fix for weird button toggles (it was a doozy!)
- Turning off autocomplete seems to have done the job
- https://stackoverflow.com/questions/36546775/html-checkboxes-keep-checked-after-refresh#36547079
2020-09-13 17:47:40 +10:00
Oliver Walters
57e395de71 BOM: Allow multiple BOM items to be selected and deleted
(in editing mode)
2020-09-13 00:40:06 +10:00
Oliver Walters
7a7db97914 add inventreeDelete ajax function 2020-09-13 00:39:25 +10:00
Oliver Walters
36ac268b96 BOM Display: Multiple fixes
- Previous multi-level BOM display changes had broken the table in editing mode
- Simplify code
- Re-implement edit / delete / validate buttons
- Re-enable checkboxes in edit mode
2020-09-13 00:13:53 +10:00
eeintech
28585644ea Added automatic listing of custom CSS sheets (no more hardcoded), added error message when current selection is not valid and select default theme 2020-09-09 14:55:32 -05:00
eeintech
8198fad6d5 Updated common.colortheme migration 2020-09-08 16:36:58 -05:00
eeintech
35060ce8dc Merge branch 'master' of git://github.com/inventree/InvenTree into color_themes 2020-09-08 16:33:22 -05:00
eeintech
896fa131f0 Moved color themes CSS sheets to own folder, nicer crispy form for selecting theme 2020-09-08 16:24:22 -05:00
eeintech
8e2d568a42 Style correction (missing ending new line), removed commented line in ColorThemeSelectForm 2020-09-07 17:01:05 -05:00
eeintech
10dd8fad80 Renamed Theme to ColorTheme, ColorTheme is now a per-user selection 2020-09-07 16:27:23 -05:00
eeintech
2e5ec5d249 Theme change works but applies to all user 2020-09-07 15:15:51 -05:00
eeintech
0548bee8ad Added Color Theme view in settings 2020-09-07 11:29:24 -05:00
eeintech
27241e217f Style correction 2020-09-07 08:46:39 -05:00
eeintech
c5efce36b6 Added PartDetailFromIPN view tests 2020-09-07 08:40:37 -05:00
eeintech
41071f0ed4 Moved IPN url pattern to right before Part index to avoid catching others 2020-09-05 12:03:07 -05:00
eeintech
8198e919b1 Merge branch 'master' of git://github.com/inventree/InvenTree into part_ipn_slug 2020-09-05 11:42:33 -05:00
Oliver Walters
87f25eacc5 Add link from stock item to base part 2020-09-06 00:01:14 +10:00
Oliver
22e30903b6
Merge pull request #965 from SchrodingersGat/api-stock-fix
Major bugfix for multiple annotations in API querysets
2020-09-05 23:42:25 +10:00
Oliver Walters
46a8107be5 Refactor stock filter 2020-09-05 23:35:48 +10:00
Oliver Walters
2cf40c0e0b Translation updates 2020-09-05 23:32:36 +10:00
Oliver Walters
f7ad38dad5 Add unit tests for new aggregation annotation approach 2020-09-05 23:28:54 +10:00
Oliver Walters
5f2e4c3790 Update serializers for Order model 2020-09-05 23:08:59 +10:00
Oliver Walters
598e15af46 Fix annotations for Company serializers 2020-09-05 23:03:38 +10:00
Oliver Walters
db214dfd73 Update queryset annotation for StockItem
- Query time reduced from 4.1 to 3.5s (for sample data)
2020-09-05 22:50:17 +10:00
Oliver Walters
42967905bc New approach for multiple annotations
- Use the django-sql-utils addon - https://github.com/martsberger/django-sql-utils
- The "distinct=True" flag was not doing what I thought it was doing...
2020-09-05 22:35:19 +10:00
Oliver Walters
f737ad2d38 Bugfix: CreateStockItem form
- hide the field rather than popping it
2020-09-05 20:31:18 +10:00
Oliver Walters
c4989e59b2 Allow selection of bom_copy and parameter_copy when making a new variant 2020-09-05 20:10:18 +10:00
eeintech
2fa284d37b Added PartDetailFromIPN view (subclass of PartDetail) and url pattern 2020-09-04 17:20:17 -05:00
eeintech
440a5fafea Implemented part parameters copy from template/original part 2020-09-04 14:02:12 -05:00
Oliver
11b751323e
Merge pull request #953 from SchrodingersGat/part-import-fix
Part: Alter model fields to fix data import issues
2020-09-03 00:18:26 +10:00
Oliver Walters
34a334236a Part: Alter model fields to fix data import issues
Without setting 'null=True' on fields which may be empty,
the import subsequently fails if these fields are indeed empty
2020-09-03 00:11:20 +10:00
Oliver Walters
b89588ffb7 variant of link links to variants page 2020-09-03 00:00:03 +10:00
Oliver Walters
303572bc03 More translation updates 2020-09-02 23:57:51 +10:00
Oliver Walters
e3d92e1390 Fixes for translation script 2020-09-02 23:54:35 +10:00
Oliver Walters
eaec85398f Treegrid display for part variants 2020-09-02 23:51:28 +10:00
Oliver Walters
62c26c881d Add ability to filter part list by 'ancestor' 2020-09-02 23:18:26 +10:00
Oliver Walters
36955d6d4f pep fixes 2020-09-02 20:16:46 +10:00
Oliver Walters
92ec849fc1 Add ci settings file for postgresql database 2020-09-02 20:09:11 +10:00
Oliver Walters
bb9e8fa97b Merge remote-tracking branch 'inventree/master' into multi-db-unit-test
# Conflicts:
#	InvenTree/build/test_build.py
2020-09-02 20:02:22 +10:00
Oliver Walters
911727f7b7 Update test fixtures
- Can't assume that pk values will be assigned sensibly!
- Need to hard-code them in
2020-09-02 19:47:07 +10:00
Oliver Walters
55c1ea750c Add CI tests for MySQL database 2020-09-01 21:01:38 +10:00
Oliver Walters
4613730a19 PEP fixes 2020-09-01 20:24:14 +10:00
Oliver Walters
74f25ee7f9 Part: Extend logic for "latest" serial number
- Return value if it is a string
- Remove 'getNextSerialNumber' function
- Improve functionality of function which returns serial number placeholder string
2020-09-01 20:16:46 +10:00
Oliver Walters
e6c0a04131 Merge branch 'feature-non-int-serial' of git://github.com/bcc/InvenTree into bcc-feature-non-int-serial 2020-09-01 19:41:48 +10:00
Oliver Walters
1eeaa17085 Merge remote-tracking branch 'inventree/master' 2020-09-01 16:41:07 +10:00
Oliver Walters
ffbdb0317f Add "focus" option when displaying a modal form 2020-09-01 12:43:37 +10:00
Oliver
90d2265dae
Merge pull request #945 from SchrodingersGat/template-attachments
Part: add function to get part attachments for *all* parents of a part
2020-08-31 22:38:02 +10:00
Oliver Walters
73892e894e Refactoring 2020-08-31 22:30:38 +10:00
Oliver Walters
cd8214ff4a Part: add function to get part attachments for *all* parents of a part 2020-08-31 22:26:46 +10:00
Oliver
baaabd00d6
Merge pull request #939 from SchrodingersGat/column-remembering
Make checkbox field non-switchable for stock table
2020-08-31 22:08:56 +10:00
Oliver Walters
672936e2d4 Update many tables 2020-08-31 21:55:01 +10:00
Oliver Walters
97ed70502c Fix function which hides table columns based on saved selections 2020-08-31 20:42:11 +10:00
Oliver Walters
59e7474f75 Stock: More unit tests
- Add some more tests (would have caught a bug that was there already, darn it)
2020-08-31 20:09:43 +10:00
Oliver Walters
8615cad711 Stock: Fix serializers.py
- Use of read_only PrimaryKeyRelatedField was breaking POST via API
2020-08-31 20:08:07 +10:00
Oliver Walters
5c4781b5b4 Order: Improve help text(s) 2020-08-31 19:13:24 +10:00
Ben Charlton
06552832cb Style corrections 2020-08-28 17:30:16 +01:00
Ben Charlton
6b1696f8df Merge branch 'master' into feature-non-int-serial 2020-08-28 17:14:02 +01:00
Oliver Walters
7829e3654c Add callback when a column is shown / hidden 2020-08-28 10:51:55 +10:00
Oliver Walters
9c2e959ab0 Add function to turn a set of visible columns into a settings string for saving to session 2020-08-28 10:50:43 +10:00
Oliver Walters
86e675dbbd Make checkbox field non-switchable for stock table 2020-08-28 10:49:49 +10:00
Oliver Walters
f6d8a3f229 Merge remote-tracking branch 'upstream/master' 2020-08-27 22:50:52 +10:00
Oliver Walters
b17c3f6e0f Fix for empty option 2020-08-27 08:41:38 +10:00
Oliver Walters
27f7745231 Follow link to newly created StockItem 2020-08-27 08:37:18 +10:00
Oliver Walters
19329a9627 Merge remote-tracking branch 'inventree/master' 2020-08-27 00:21:42 +10:00
Oliver Walters
146dae6d43 Toot toot - it's the refactor tractor!
- New function for launching a CreateStockItem form
- Wraps up the previous code improvements into a single function
- Oh, the ease!
2020-08-27 00:08:02 +10:00
Oliver Walters
4be1b2928b PEP fix 2020-08-26 23:50:49 +10:00
Oliver Walters
72899530cf Add helper function to simplify reloading of field options 2020-08-26 23:43:19 +10:00
Oliver Walters
9dcc23ee4e Hide 'supplier part' options if no part is selected in the form 2020-08-26 23:40:15 +10:00
Oliver Walters
3a75682878 Add "pretty" name to the SupplierPart API
- Quick way to ensure the supplier part objects are printed the same way
- Use the pythonic back-end to render the data
2020-08-26 23:23:57 +10:00
Oliver Walters
5aa11063a0 Add function to update the 'options' for a given field in a modal 2020-08-26 23:13:32 +10:00
Oliver Walters
2037474fad Option generation function now returns array, rather than flat text 2020-08-26 23:04:50 +10:00
Oliver Walters
02d17378a6 Add function to programatically generate a list of <option> elements 2020-08-26 23:02:25 +10:00
Oliver Walters
6ab34c3d0e SupplierPart - Improve API
- The default DRF behaviour throws errors if the supplied query params do not conform to the limit_choices_to field
- This is non optimum! Don't want to have to handle these cases
- Do the filtering ourselves!
2020-08-26 22:44:22 +10:00
Oliver Walters
d44ad541eb Add "callback" functionality for modal forms when a given field is changed
- Attach callback function
- Add a function to retrieve a field by name
2020-08-26 22:35:36 +10:00
Oliver Walters
54d0c4e8a8 Bugfix: Select test report template
- Actually, two bugs!
2020-08-26 14:29:49 +10:00
Oliver
ee0df29af0
Merge pull request #921 from eeintech/show_potential_bom_items_stock
Show 'available_stock' in Part string representation
2020-08-26 09:36:55 +10:00
eeintech
5d6def75cc BoM export, Part stock: changed 'Location' header to 'Default Location' 2020-08-25 16:02:46 -05:00
eeintech
109307858a Merge branch 'master' of git://github.com/inventree/InvenTree into bom_export_parameter_stock 2020-08-25 15:59:58 -05:00
Ben Charlton
7d6055f06f Merge branch 'master' into feature-non-int-serial 2020-08-25 09:28:42 +01:00
Oliver
788d497e87
Merge pull request #931 from bcc/bug-serialize-no-location
Fix internal server error when serializing stock with no location
2020-08-25 08:38:35 +10:00
Ben Charlton
e0a744b01d Remove no-longer-needed cast functions 2020-08-24 20:09:06 +01:00
Ben Charlton
9c2d13b487 test non-numeric serials are handled correctly for ranges 2020-08-24 20:04:10 +01:00
Ben Charlton
0da2682c68 handle non-int serial range suggestions cleanly 2020-08-24 20:00:19 +01:00
Ben Charlton
d5a374f1fd Make serial number suggestion DB independent, handle mixed types more cleanly and test 2020-08-24 19:49:32 +01:00
Ben Charlton
9149aa1536 Fix internal server error when serializing stock with no location 2020-08-24 18:04:22 +01:00
eeintech
946d824995 Switched to ModelChoiceField 2020-08-24 11:41:14 -05:00
eeintech
6f89f7dc7f Merge branch 'master' into show_potential_bom_items_stock 2020-08-24 10:35:59 -05:00
Ben Charlton
b6f9590d55 Add default config example to config template 2020-08-24 15:24:18 +01:00
Ben Charlton
988d263ef1 Allow custom authentication / middleware in config.yaml 2020-08-24 15:05:21 +01:00
Ben Charlton
471ece136e Merge branch 'master' into feature-non-int-serial 2020-08-24 11:12:07 +01:00
Oliver Walters
78826dc20b Merge remote-tracking branch 'inventree/master' 2020-08-23 21:21:18 +10:00
Oliver
2a4b9c6c5c
Merge pull request #929 from SchrodingersGat/label-enable
Label enable
2020-08-23 21:18:11 +10:00
Oliver Walters
ca1985e11a PEP fixes 2020-08-23 21:10:45 +10:00
Oliver Walters
9a35293126 Remove PartFilterMixin class 2020-08-23 21:08:41 +10:00
Oliver Walters
ed5ad3c047 Rename 'part_filters' field to 'filters' 2020-08-23 21:05:54 +10:00
Oliver Walters
c849f618d5 Clean up implementation of test report matching 2020-08-23 21:03:29 +10:00
Oliver Walters
b7ae95686e Add field "enabled" to Report template 2020-08-23 20:51:41 +10:00
Radek Hladik
f9149d041e Collapse navbar on small screen 2020-08-23 10:56:29 +02:00
Oliver Walters
116d966d29 Delete "ReportTemplate" class 2020-08-23 09:10:56 +10:00
Oliver Walters
771b2117c4 Remove duplicated function 2020-08-23 09:08:24 +10:00
Oliver Walters
8f1af0f5f9 Add "enabled" field to Label class
- Only list labels which are enabled
- Allows labels to be hidden / disabled without being deleted
2020-08-23 09:07:15 +10:00
Ben Charlton
23cc3d9b06 Handle 'next serial' more gracefully 2020-08-21 19:17:58 +01:00
Ben Charlton
c31b30bf83 Fix simple tests 2020-08-21 18:53:51 +01:00
Ben Charlton
f7ed48809c Support non-integer serial numbers 2020-08-21 17:36:49 +01:00
Ben Charlton
eeca3effee Fix disabled form item from preventing stock location moves for items with serial numbers 2020-08-21 16:20:33 +01:00
Oliver Walters
98017cb8bd Merge remote-tracking branch 'inventree/master' 2020-08-21 22:11:02 +10:00
Oliver Walters
05fae4be87 Are more methods to tasks.py:
- static
- update
- install
- key
- coverage

The functionality of setup.py is now included here!
2020-08-21 21:08:04 +10:00
Oliver Walters
59b3d8b5bc Fix stocktake export
- Exclude MPTT fields
- Fix foreignkey field references
2020-08-21 20:08:47 +10:00
Oliver Walters
25cced3b90 Exclude MPTT fields from Part model resource 2020-08-21 20:08:16 +10:00
eeintech
9fa13aeae3 Show 'available_stock' in Part string representation 2020-08-20 15:38:41 -05:00
eeintech
89e63df1fb Corrected style 2020-08-20 14:53:03 -05:00
eeintech
6fc275ca30 BoM export: added option to export part paremeters (#126) and stocks (#793) 2020-08-20 13:53:27 -05:00