Adds three different barcodes and barcodes types to a test item and
checks that they are added correctly.
Adds a barcode that already exists, and checks a DuplicateEntryError
is raised.
Adds an invalid EAN barcode and checks InvalidBarcode (a subclass of
ValidationError) is raised.
Currently, it is difficult to add new custom barcode types for two reasons, both of which relate to validate_barcode in item.py:
- There is a bug where barcode types with a space in, such as Code 128, are split in two (so barcode_type is checked against 'Code' and '128' rather than 'Code 128'). This is fixed by splitting the Options field against a newline, instead of spaces.
- All barcodes are validated against the stdnum.ean library. This only handles EAN-8, EAN-13 and UPC-12 barcodes and any other barcode will fail. Barcodes with no type will continue to not be checked. Barcodes with the default barcode_types of EAN, UPC will continue to be checked. The non-default barcode_types of EAN-13 and EAN-8 will also be checked. The barcode_type is cast to upper case before this check is made so ean, upc, ean-13 and ean-8 will also be validated.
This allows people to add their own barcode types, such as Code 128 and QR codes. Users can add custom validation of these barcodes using the usual hooks, but they cannot remove the standard validation.
update_total_qty_field patch was using UPDATE statement with CASE
Now use INSERT INTO with ON DUPLICATE KEY UPDATE clause which
allows this query to use indexes and update multiple rows per query.
* -Added field def_warehouse that sets warehouse of all items
-Grouped warehouse fields together and put raw materies supplied before items table, it will only show if there are any items supplied
* Set def_warehouse in test_sales_order.py
* Changed from def_warehouse to set_warehouse
* Rest of def_warehouse to set_warehouse
* feat(delivery_trip_status): Update Delivery Trip status based on visited stops
* feat(delivery_trip_status): Fix tests
* feat(delivery_trip_status): Fix allow on submit for status
* feat(delivery_trip_status): Change status mapping
* feat(delivery_trip_status): Fix patch
* Update update_delivery_trip_status.py
* Add new button to Sales Order form - Request for Raw Materials
* Modify get_work_order_items function
* Commonify functions in Production Plan to make it compatible with new feature
* Create and submit Material Request from Sales Order
* Link Sales Order with Material Request
* Minor
* Rename label
* Fix Codacy
* Modify as per review suggestions
- Move dialog to a new function
- Move checkboxes below other fields
* Minor changes
* Check for permissions
* Add common checkboxes for all items
* Fix codacy
* fix: Travis
* fix: Use variable to store query result
* fix: Add comment before fetching exploded items
* refactor: Break into multiple functions
* test: Add test case