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
* Update transaction.js
* setup barcode scan
stock entry controller not inherited from transaction.js, need to call setup barcode scan from transaction.js
* fix bug of item_code change always reset qty to 0
when calling frappe.model.set_value(dt,dn,'item_code',xxx), even qty is set, system always reset qty to 0.
* Update transaction.js
* Update transaction.js
* Update transaction.js
* Update transaction.js
* Update transaction.js
* Update transaction.js
* clean up barcode logic for transactions
* call scan_barcode method for stock entry
* separate out logic for searching serial, batch or barcode number
* added scan barcode field in transactions doctype
* search barcode-serial-batch sequence, code rectify
* hide all barcode related field if disabled from settings
* remove print statement
* Update stock_entry.py
* Purchase Analytics Query Report
* Minor Changes
* Codacy Issue Fixes
* Codacy Issues Fixed
* Code cleaning and optimization
* Indentation Issue Fix
* Code cleaning and better function naming
* Added link for purchase analytics in buying.py
* Added link for production analytics in manufacturing.py
* Commonified purchase-analytics using Analytics class
* Codacy issue fix
In version
```
Installed Apps
ERPNext: v11.0.3-beta.20 () (staging)
Frappe Framework: v11.0.3-beta.25 () (staging)
```
When creating a new Sales invoice without healthcare active we have this error
```
Not permitted
Insufficient Permission for Patient
```
Console log
```
Traceback (most recent call last):
File "/home/frappe/auroraone-v11/apps/frappe/frappe/app.py", line 61, in application
response = frappe.handler.handle()
File "/home/frappe/auroraone-v11/apps/frappe/frappe/handler.py", line 21, in handle
data = execute_cmd(cmd)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/handler.py", line 56, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/__init__.py", line 1007, in call
return fn(*args, **newargs)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/desk/search.py", line 53, in search_link
search_widget(doctype, txt, query, searchfield=searchfield, page_length=page_length, filters=filters, ignore_user_permissions=ignore_user_permissions)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/desk/search.py", line 149, in search_widget
as_list=not as_dict)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/__init__.py", line 1235, in get_list
return frappe.model.db_query.DatabaseQuery(doctype).execute(None, *args, **kwargs)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/model/db_query.py", line 40, in execute
raise frappe.PermissionError(self.doctype)
PermissionError: Patient
```
* Sales Analytics Report
* Codacy issue fixes and name column addition
* Minor Fixes
* Minor Changes
* Codacy Issue Fixes
* Codacy Issue Fixes
* Bug Fixes
* Code cleaning and optimization
* Deleted Duplicate code
* Indentation Issue Fixes
* Added Supplier Condition
* Cleaned code and better function naming
* Added report link for sales analytics in selling.py
* fix(patch): Patch to delete old analytics reports
* feat(refactor): Created class and refactored code using object oriented paradigm
* Column condition fix
* Minor condition fix
* Minor fix
* parent child map for purchase analytics
* Minor Fixes in get_periodic_data
* Used dots for filters instead of brackets
* Minor Bug fix in get_period_date_ranges
* Test Cases for Analytics Report
* Minor improvements
* [Feature] Route optimization for Delivery Trip stops
* Process and optimize the entire route, with or without locks
* Form sets of routes for optimization based on applied lock positions
* Re-arrange stops based on the optimized routes and lock positions
* Set delay times between stops - offset estimation times by delays cumulatively
* Fix codacy errors
* Fix travis
* feat(route_optimization): Set estimated route distance from Google Maps
* feat(route_optimization): Add tests for route lists
* feat(route_optimization): Fix tests