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.
* -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
* 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
* 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
* fix(perpetual inventory): Get warehouse account map only if perpetual inventory enabled
* fix(perpetual inventory): Get warehouse account map only if perpetual inventory enabled
* Added Include UOM field for Stock Balane, Stock Ledger and Stock Projected Qty
* Add columns in result list-of-lists instead of converting reports to list-of-dicts
* For requested changes
-Merged conversion factor query with item detail queries
-Ensuring snail_case
-Made columns consistently list-of-dicts
* file-api: major refactor
migrate from file_manager.py to file.py
Signed-off-by: Chinmay Pai <chinmaydpai@gmail.com>
* file-api: migrate to file-api
remove file_manager stuff and migrate to file-api
Signed-off-by: Chinmay Pai <chinmaydpai@gmail.com>
- create is_transporter checkbox in supplier doctype
- new field transporter (supplier with is_transporter checked)
- created fields driver and driver_name
- removed GST India fields from core doctype
- removed readonly & allow_on_submit from fields (delivery trip applicable only for in-house delivery)
- read_only transporter_name field (kept for backwards compatibility)
- made necessary changes in delivery_trip implementation
- hidden section's fields from print (preserving v10 convention)
- added transporter field to 'Driver' doctype
- added queries for transporter and driver fields
- GST India fields in regional module
- Fix e-waybill report
* Enhanced Budget Variance report and added filters and columns in other reports
* Update budget_variance_report.js
* Changes in budget variance report
* Spacing in column names
* fix(payroll): multiple minor fixes related to salary structure
* Added GSTR-1 and GSTR-2 report in Accounts module page
* delete asset movement records on cancellation of Purchase Receipt
* Update consolidated_financial_statement.py
* minor fix
* minor fix
* add filters on item prices report (#15495)
* added section for deferred expense in item master
* added default expense account field in Company master
* added deferred expense section in purchase invoice item
* validation and getter code added
* scheduler event to book expense every month
* codacy, import fix and other minor fixes
* rectify debit credit logic for expense
* commonify js code for deferred expense and revenue
* remove deferred calculation and validation
* common file to calculate deferred revenue and expense
* codacy fixes
* expense account root_type - Asset, specific method naming
* Remove quotes from sql to make it compatible with postgres as well
* Fix queries
- Replace mysql specifc queries with standard ones
* Make repo URL chages to test pg-poc
* Add root passowrd to test site config
* Fix quotes issue
* Remove debug flag from a pricing rule query
* Remove python 3.6 version from travis.yml
* Fix improper query issue
* Fix incorrect query
* Fix a query
- This fix need to be changed when we will start supporting postgres
since date_format is not supported by postgres
* Get price list map as dict
* Convert price_list_currency_map to dict
The patch move_item_defaults_to_child_table_for_multicompany used to
fail since the doctypes Item and Item Defaults weren't reloaded properly
Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
* fix(translations): Replace translations by keyword with indexed version
Keywords in the translation also gets translated which
results in an error because python cannot find the key
* Update buying_controller.py
* [Enhance] Added job card against the work order
* removed work order from timesheet
* Fixed codacy
* Added patch to make job card from the timesheet
* Timer in job card
* Dates validation in job card
* Added button to make job card from work order
* Added sub-assembly operation in the work order
* Remove make subscription button on delivery note if it is of type returns
* Added 'issue_credit_note' checkbox on delivery note to pass a Sales Inv of type return if checked while creating a return delivery note
* Added logic to auto-create Return Sales Invoice/ Credit Note if issue_credit_note checkbox is checked while return delivey note is submited
* Update delivery_note.py
* Allow Cost Center In Entry of Balance Sheet Account
* Add parent cost center in get payment entry
* Add Tests for Allow Cost Center In Entry of Balance Sheet Account
* Add tests for cost center wise account and party balance
* set parent cost center in taxes
* 1. Remove copy parent cost_center to child
2. Improve update party and account balance functionality on cost_center change
3. Add cost_center filter to get_outstanding_documents
* fix Codacy and Travis issue
Currently, a valuation rate of 0 gets treated the same as an omitted
valuation rate, and gets overwritten during validation. This hotfix
allows a Stock Reconciliation Item's valuation rate to be set to 0.
* Patch to create Property Setter for existing naming series
* Update existing naming series options with new
* Add patch link to patches.txt
* Update patch
* Fix codacy
* Fix as per suggestions
* Remove old patch for property setter
* Improve as per suggested
- Modified the naming
- Also refactored naming for doctypes having autoname with series
- Added a patch to make property setter for autoname
* Fix Travis
* Rebase with develop
* Made Purchase Invoice Items' Batch No and Serial No fields non copyable.
* Added appropriate currency field options to Purchase...Items DocFields:
-Landed Cost Voucher Amount
-Billed Amt
* Add discount_amount and base_discount_amount in Sales Invoice Item
* Add patch for existing documents
* Discount amount field in all child tables of Purchase and Selling
* Remove console statements
* fields added for delivery by Serial No
* SO - validate item for delivery by Serial No
* Stock Entry - add Serial No on production, validate reserved consumption
* add item by reservation to transaction if delivery by Serial No
* SLE - validate reserved Serial No by SO in Delivery Note, Sale Invoice
* Sales Order - validate Ensure Delivery by Serial No
* Serial No - remove SO ref on cancel
* [IMPROVEMENT] Item Price New Fields and Features
* [IMPROVEMENT] Item Price
- Item Price insert against Qty, Supplier/Customer, Validup/Validfrom
- Stock Setting to accept Default Price List for Purchase or Sales Item
- Move Item Section in Item Price
* Fetch default Item Price based on Customer as null
* test fixes
* Code cleanup and fixed the issue of incorrect item price fetched against the customer
* Removed min qty from packing_increment calculation
* Removed auto_update_price_list_rate from the stock settings
* Revert sales_order.json changes
* Removed sales, purchase price list from stock settings because this fields are already available in selling, buying settings
* Removed unnecessory file
* Fixed item price validation code
* minor improv in fetching account
* pass name field while creating tds doc
* create tds fixture after creating tds account
* Inpatient Record - Test - Fix
* fix batch query
* Update batch.py
Performance improvements for pos stock availability checks on a particular warehouse due to the slowing down effects of the where clauses combined by the "and".
* Update batch.py
* Add Defaults table in Item Group
* Fetch defaults from Item group if not found in Item
* Add patch
* Remove default fields from Item Group
* Set query for defaults
* Fix Codacy
* Modify test records
* Modify budget.py and sales_order.py
* Remove join from query
* Else condition to avoid error if no defaults found
* refrain from making item test records before item_group
* default cost center fetch correction
* Remove tab item group from query
* First Cut for the Loyalty Program
* finished the collection part
* redmeption for the loyalty point
update the loyalty point entry in the FIFO style
make the accounting entry knocking the debtors account against the expense account selected in the loyalty program
update the outstanding balance in the client side
* completed for the desk viewe
* wrap up for the desk and shopping cart
* pos
* fix and test the travis
* increase precision for conversion value
* inverse the conversion data
* update uom data
* rectify conversion logic according to inversion of values
* rectify test case for uom conversion
* patch improv to correct conversion data
* Added test cases for asset accounting, asset value adjustment
* Accounting entry for the asset created manually
* Added asset movement test cases and validation
* Added validation to make asset from purchase receupt, invoice only
- Creaete Sales or Purchase order from the blanket order
- If there is any blanket order for the customer/supplier rates will be fetched from that order
- Manually selecting the Blanket order will change the rates accordingly
- Upon submission of the order, the ordered qty will be updated in the Blanket Order
* utility function added for treeview
function to distinguish defaults from user permission and return appropriate data
* make use of utility function for treeview
* minor fix in get_list of items in stock reconciliation
* reload doc fails because of backdated modified date
* item and item defaults should load prior to shopify refactor
* attribute value should't be none or empty, could be zero though
* Update item.py