* -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
* 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
* 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
Fix 'Sales Person-wise Transaction Summary' Report by fetching the
correct Warehouse for the Item fron the respective, Sales Order/Sales
Invoice/ Delivery Note
* 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
* Lead to customer UX enhancement
* Market segment
* Market Segment to DocType
* Specific function for fixtures
* Merge issue correction
* Doctype merge correction
* Commission For Sales Person
* Changes Made
* Changes made in sales person dashboard and commission report
* Update sales_person_commission_summary.py
for creating dropship purchase orders, allow the user to leave supplier field empty, it will auto create all dropship purchase orders for multi suppliers assigned to sales order items.
* 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
* 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
* [optimize]: bin updates
* [optimise]: use frappe.get_cached_value instead of get_value for item
* [fix]: change db.get_cached_value to get_cached_value