2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-05-08 16:28:49 +00:00

154 Commits

Author SHA1 Message Date
Oliver
198ac9b275
Feature: Supplier part pack size (#3644)
* Adds 'pack_size' field to SupplierPart model

* Edit pack_size for SupplierPart via API

* Display pack size in supplier part page template

* Improve table ordering for SupplierPart table

* Fix for API filtering

- Need to use custom filter class

* Adds functionality to duplicate an existing SupplierPart

* Bump API version number

* Display annotation of pack size in purchase order line item table

* Display additional information in part purchase order table

* Add UOM to purchase order table

* Improve receive items functionality

* Indicate quantity which will be received in modal form

* Update the received quantity as the user changes the value

* Take  the pack_size into account when receiving line items

* Take supplierpart pack size into account when receiving line items

* Add "pack size" column to purchase order line item table

* Tweak supplier part table

* Update 'on_order' queryset annotation to take pack_size into account

- May god have mercy on my soul

* Adds a unit test to validate that the on_order queryset annotation is working as expected

* Update Part.on_order method to take pack_size into account

- Check in existing unit test also

* Fix existing unit tests

- Previous unit test was actually in error
- Logic for calculating "on_order" was broked

* More unit tests for receiving items against a purchase order

* Allow pack_size < 1

* Display pack size when adding / editing PurchaseOrderLineItem

* Fix bug in part purchase order table

* Update part purchase order table again

* Exclude notificationmessage when exporting dataset

* Also display pack size when ordering parts from secondary form

* javascript linting

* Change user facing strings to "Pack Quantity"
2022-09-08 09:49:14 +10:00
Oliver
fd789d28db
Add confirmation field for incomplete purchase orders (#3615)
* Add confirmation field for incomplete purchase orders

* Add similar functionality for SalesOrder

- Complete form is now context sensitive
- Allow user to specify if order should be closed with incomplete lines

* Update API version

* JS linting

* Updated unit tests
2022-09-05 14:00:41 +10:00
Oliver
23edd79431
Fix sales order table refresh (#3627)
- Refreshing the SalesOrder table would actually reload the PurchaseOrder table
2022-09-01 12:34:43 +10:00
Oliver
1ec9795ede
Adds option for duplicating an existing purchase order (#3567)
* Adds option for duplicating an existing purchase order

- Copy line items across

* Update API version

* JS linting

* Adds option for duplication of extra lines

* Decimal point rounding fix

* Unit tests for PO duplication via the API
2022-08-19 11:34:37 +10:00
Oliver
b70a0164ae
Add ability to quickly duplicate build orders (#3565)
* Adds ability to easily duplicate an existing build order

* Refactor purchase order editing code
2022-08-18 12:44:47 +10:00
Oliver
05d7159882
Pre-fill quantity on part ordering form (#3395)
* Pre-fill quantity on part ordering form

- Adds new API endpoint for requirement data
- Load data on the fly when launching ordering form

* Bump API version
2022-07-25 13:00:35 +10:00
Oliver
afcd60b387
Create SupplierPart directly from PurchaseOrderLineItem dialog (#3361)
* Move JS code from html to external .js file

* Add secondary dialog for creating a new SupplierPart from the PurchaseOrderLineItem dialog

* JS linting
2022-07-20 12:53:31 +10:00
Oliver
648faf4ed2
Reference fields (#3267)
* Adds a configurable 'reference pattern' to the IndexingReferenceMixin class

* Expand tests for reference_pattern validator:

- Prevent inclusion of illegal characters
- Prevent multiple groups of hash (#) characters
- Add unit tests

* Validator now checks for valid strftime formatter

* Adds build order reference pattern

* Adds function for creating a valid regex from the supplied pattern

- More unit tests
- Use it to validate BuildOrder reference field

* Refactoring the whole thing again - try using python string.format

* remove datetime-matcher from requirements.txt

* Add some more formatting helper functions

- Construct a regular expression from a format string
- Extract named values from a string, based on a format string

* Fix validator for build order reference field

* Adding unit tests for the new format string functionality

* Adds validation for reference fields

* Require the 'ref' format key as part of a valid reference pattern

* Extend format extraction to allow specification of integer groups

* Remove unused import

* Fix requirements

* Add method for generating the 'next' reference field for a model

* Fix function for generating next BuildOrder reference value

- A function is required as class methods cannot be used
- Simply wraps the existing class method

* Remove BUILDORDER_REFERENCE_REGEX setting

* Add unit test for build order reference field validation

* Adds unit testing for extracting integer values from a reference field

* Fix bugs from previous commit

* Add unit test for generation of default build order reference

* Add data migration for BuildOrder model

- Update reference field with old prefix
- Construct new pattern based on old prefix

* Adds unit test for data migration

- Check that the BuildOrder reference field is updated as expected

* Remove 'BUILDORDER_REFERENCE_PREFIX' setting

* Adds new setting for SalesOrder reference pattern

* Update method by which next reference value is generated

* Improved error handling in api_tester code

* Improve automated generation of order reference fields

- Handle potential errors
- Return previous reference if something goes wrong

* SalesOrder reference has now been updated also

- New reference pattern setting
- Updated default and validator for reference field
- Updated serializer and API
- Added unit tests

* Migrate the "PurchaseOrder" reference field to the new system

* Data migration for SalesOrder and PurchaseOrder reference fields

* Remove PURCHASEORDER_REFERENCE_PREFIX

* Remove references to SALESORDER_REFERENCE_PREFIX

* Re-add maximum value validation

* Bug fixes

* Improve algorithm for generating new reference

- Handle case where most recent reference does not conform to the reference pattern

* Fixes for 'order' unit tests

* Unit test fixes for order app

* More unit test fixes

* More unit test fixing

* Revert behaviour for "extract_int" clipping function

* Unit test value fix

* Prevent build order notification if we are importing records
2022-07-11 00:01:46 +10:00
Oliver
1235d47eca
Bug fix for sales order allocation table (#3295)
- Display serial number where available
2022-07-05 17:00:25 +10:00
Oliver
652e6fb83e
Sales order tables (#3225)
* Add buttons to expand / collapse shipment tables

(cherry picked from commit 0af9fc473ee005b7544d204107cfb58ba78c5e30)

* Updates for sales order lines table

(cherry picked from commit d99ec062adf0c1c8e6c5cae5db921e54e167be8c)
2022-06-18 22:22:00 +10:00
Oliver
309ed595d7
Queryset annotation refactor (#3117)
* Refactor out 'ordering' serializer annotation field

* Refactor BomItem serializer annotations

* Factor out MPTT OuterRef query

* Add 'available_stock' annotation to SalesOrderLineItem serializer

- Allows for better rendering of stock availability in sales order table

* Improve 'available quantity' rendering of salesorderlineitem table

* Bump API version

* Add docstring
2022-06-02 23:22:47 +10:00
Matthias Mair
4d8836378b
CI updates (#3087)
* Add pre-commit to the stack

* exclude static

* Add locales to excludes

* fix style errors

* rename pipeline steps

* also wait on precommit

* make template matching simpler

* Use the same code for python setup everywhere

* use step and cache for python setup

* move regular settings up into general envs

* just use full update

* Use invoke instead of static references

* make setup actions more similar

* use python3

* refactor names to be similar

* fix runner version

* fix references

* remove incidential change

* use matrix for os

* Github can't do this right now

* ignore docstyle errors

* Add seperate docstring test

* update flake call

* do not fail on docstring

* refactor setup into workflow

* update reference

* switch to action

* resturcture

* add bash statements

* remove os from cache

* update input checks

* make code cleaner

* fix boolean

* no relative paths

* install wheel by python

* switch to install

* revert back to simple wheel

* refactor import export tests

* move setup keys back to not disturbe tests

* remove docstyle till that is fixed

* update references

* continue on error

* use relativ action references

* Change step / job docstrings
2022-05-28 10:38:12 +10:00
Oliver
643df4761d
Enable 'tree view' for build order table (#3070)
* Enable 'tree view' for build order table

* Ensure we pass locale code to the build table

* Adjust button class based on current context

* Fix display of 'child builds' table on build page

* Force a rebuild of the entire table when the filters are refreshed

* Refactor PurchaseOrder table also

* Refactor existing SalesOrder table also

* JS linting
2022-05-26 15:41:53 +10:00
Oliver
2378073c61
SalesOrderShipment improvements (#3058)
* Adds two new fields to SalesOrderShipment model:

- Invoice number (char)
- Link (URL)

* Bump API version

* Update API / serializer / JS

- Allow entry of new fields at time of shipping

* PEP fixes

* Actually fix the PEP issues

* Unit testing: check some more fields
2022-05-25 11:00:19 +10:00
Oliver
3c02b95f85
Shipment date edit (#3050)
* Allow user to select shipment date when shipping a salesorder

- Defaults to 'today'

* Retain the tracking number information through the from

* JS linting

* Add unit testing for the SalesOrderShipmentComplete serializer / API endpoint
2022-05-23 13:57:40 +10:00
Maksim Stojkovic
0ec067da40
[Feature] Shipment Creation in Stock Allocation Modal (#3024)
* Added order reference to line item options

* Basic working version implemented

* Re-execute fields function in secondary modals

* Added missing argument and parameter

* Added missing parentheses

* Fixed hidden field name for depth > 0
2022-05-22 09:34:38 +10:00
Matthias Mair
5805685c48 Merge branch 'master' of https://github.com/inventree/InvenTree into style-fixes 2022-05-21 23:57:41 +02:00
Maksim Stojkovic
f036252fb9 Added completePendingShipments to exported section 2022-05-21 01:31:01 +10:00
Maksim Stojkovic
c38862b28c Added page action to process pending shipments 2022-05-21 01:05:54 +10:00
Matthias Mair
93b6934127 fix trailing 2022-05-20 13:20:55 +02:00
Maksim Stojkovic
b99a9306ce Added onSuccess support to completeShipment 2022-05-20 20:37:23 +10:00
Maksim Stojkovic
f2a3b4ab1f Changed completeShipment reload to optional 2022-05-20 16:29:59 +10:00
Maksim Stojkovic
d9beaab92c Primitive solution to SO reload on shipment 2022-05-19 20:31:55 +10:00
Oliver
3614e09211 Fix "fields" attribute for PurchaseOrderLineItem edit form
- The 'order' field was not being included
2022-05-16 09:25:20 +10:00
Oliver
d0ddb47b1f Adds exporter and download button for sales orders 2022-05-12 11:44:05 +10:00
Oliver
1b1f7634b7 Adds exporter and download button for PurchaseOrder table 2022-05-12 11:41:25 +10:00
Oliver Walters
17c84141b1 Javascript linting 2022-05-04 17:38:01 +10:00
Oliver Walters
a510ca89f7 Refactor CancelSalesOrder form 2022-05-04 15:55:21 +10:00
Oliver Walters
bf48e3204b Refactor PurchaseOrderIssue form 2022-05-04 15:45:13 +10:00
Oliver Walters
5afc3bfce2 Replace PurchaseOrderComplete form 2022-05-04 15:33:50 +10:00
Oliver Walters
62cd0f39c7 Replace the existing CancelPurchaseOrderForm with an API driven form 2022-05-04 15:14:14 +10:00
Oliver Walters
96c5a8252c remove dead code 2022-05-03 17:33:03 +10:00
Oliver Walters
f0e8e32c8a More refactoring 2022-05-03 17:27:21 +10:00
Oliver Walters
f3e8edaf1f Refactor for SupplierPart detail page 2022-05-03 17:21:33 +10:00
Oliver Walters
05b01e4d6c Refactor order parts for manfuacturer part detail page 2022-05-03 17:16:38 +10:00
Oliver Walters
28f3244574 Order parts from "supplier parts" page
- Prevent duplicate parts from loading
2022-05-03 16:52:23 +10:00
Oliver Walters
c0163a476f Refactor 'order parts' window from manufacturer part list 2022-05-03 16:42:00 +10:00
Oliver Walters
bac5a16491 JS linting fxies 2022-05-03 14:28:41 +10:00
Oliver Walters
141b764b94 Modal fixes 2022-05-03 14:01:25 +10:00
Oliver Walters
8cd8581dbf fixes 2022-05-03 13:51:04 +10:00
Oliver Walters
1794f65d19 Button to submit each row individually 2022-05-03 13:44:28 +10:00
Oliver Walters
d69b5811b1 Improved javascript log / warn / error messages 2022-05-03 12:00:28 +10:00
Oliver Walters
4732efb330 Fix callbacks for adding new supplier part and/or purchase order "inline" 2022-05-03 11:42:13 +10:00
Oliver Walters
e87a02638e Merge remote-tracking branch 'inventree/master' into order-parts-wizard
# Conflicts:
#	InvenTree/order/serializers.py
#	InvenTree/templates/js/translated/model_renderers.js
2022-05-02 16:11:11 +10:00
Oliver Walters
0a3613476c Fix empty translation string 2022-05-01 22:34:03 +10:00
Matthias
f1ee206c53
fix typo 2022-04-28 00:37:55 +02:00
Oliver Walters
340d4d8a89 Launch new forms 2022-04-27 00:12:12 +10:00
Oliver Walters
bf11e8361e Add (empty) callbacks to prefix buttons 2022-04-26 22:18:27 +10:00
Oliver Walters
c66cd1d51b Adds button to expand row for "extra" information 2022-04-26 22:14:01 +10:00
Oliver Walters
e225d3b765 Fix action buttons in "part" table on category page 2022-04-07 19:09:43 +10:00