* fieldname wrong
* bifurcated test into two - error when both were running async
* minor fixes with link and route
* move school domain rename up
* fix async creation of operations test
* edit-in-full-page is button, not link
* set_route issue in production order test
* minor changes
* fix task tree test
* more fixes
* fix server side issue
* improvising ui tests
* if doctype is batch, add extra information to args
* automatically fetch serial numbers if possible
* take advantage of changes in make_stock_entry
* code clean up
* PEP 8 compliance
* fix bug that clears serial number
* [new] Calculate shipping tax based on weight
* [fix] Change field name weight to weight_per_unit in SI Item
* [new] Shipping Rule based tax for selling module
* [new] Shipping rule based on weight added to Buying module
* [fix] Conflict in jsons
* [fix] Removed Redudant add_fetch
* [fix] Codacy fixed
* [fix] Print hide added
* prevent premature escape when item has serial no and batch no
* fetch actual_batch_qty for item
* add available_qty to dialog
* remove expired batches from drop-down
* Update queries.py
* fetch batch_no in `get_basic_details`
* PEP8 changes and docstring
* only auto-fetch batch number for Sales documents:
otherwise, automatic batch creation will not work properly because all new
stock will be added to old batch
* new function to fetch batch number using FEFO:
FEFO - First Expiring First Out
* fetch batch number in `get_basic_details` using FEFO
* add new function - `set_batch_number`
* `set_batch_number` when `qty` is triggered
* `set_batch_number` when `uom` is triggered
* whitelist `get_batch_no_fefo`
* code clean up
* move `set_batch_number` to conversion_factor instead of uom
* rename `get_batch_no_fefo` to `get_batch_no`
* fix test case
* final cleanup
* Revert "fetch batch_no in `get_basic_details`"
This reverts commit dd024b1eb369eaeafab28165d523fb7a9f8ab8d3.
* fix test case
* update Sales Invoice manual
* move changes away from `transaction.js`
* query should not fetch expired batches
* refactor `get_batch_no`:
add new function `get_batches`
* Update batch.py
* Account number in chart of accounts
* Include account number while renaming account
* Test case fixed
* Standard coa with and without numbers
* Standard coa with and without numbers
* field for company margin
* added base_rate_with_margin
* calculate company margin
* test for item price
* test for delivery note
* test for sales order
* test for quotation
* test for sales invoice
* Fixed asset testcases due to tax rule
* Delete tax rule record after running test cases
* Fixed test cases
* Fixed test cases
* Fixed subscription tests due to tax rule
* [WIP]Hub
* [listing] Show items, users and item_groups
* Show filters
* [start] cart, api for rfq and opp
* rfq working
* [wip] keys
* wip quotes
* [hub] register/unregister
* [hub] rename password to access_token, remove passed company field
* [hub] publishing cases, api call wrapper
* [hub] add and remove fields working
* [hub] fix flags, update on client save working
* [hub] new hub page, client item CUD at hub working
* listing, standard rate, local site hack
* item listing, item page, search, back to home
* [hub] implement hub company
* [hub] company filter
* [hub] basic rfq-ing, item page cleanup
* categories wip
* [hub] use get_doc_before_save()
* [hub] send opportunity message to hub, api to make locally
* [hub] enqueueing in hub api request wrapper
* cleanup
* [hub] refactor shopping cart's product.py to reuse
* sync dynamic item fields daily
* Scheduler heartbeat check
* [wip] hub categories
* [hub] wip enqueued callbacks
* [hub] outgoing messages, fixing callback loop
* [hub] bug: callback save after primary save
* [hub] pricing, stock, currency
* [hub] replace send_hub_request with make_and_enqueue
* add hub.less, refactor code
* Remove template html files, add styling for hub item cards
* fix paging
* add breadcrumb
* Add sidebar
* [hub] add company page, change country
* [hub] order_by filters
* [hub] make hub category a tree
* [hub] enqueue batched item enqueueing
* [hub] requested products page
* [minor]
* update hub url
* [fix] url
* [fix] more reform
* fix recursion
* [hub] data migration plans as jsons
* Hub register, create data connector, sync with run
* [add] user registration by session user
* Removed hub_message
* Remove sync code from hub_settings
* Remove hub methods from item.py
* Update Hub Sync plan
* Hub unregister
* Update Hub connector on reregister
* Dont delete Hub Connector on unregister
* Enable hub on success response
* Add new hub whitelisted methods
* [hub] list working
* Hub register from hub page
* [hub] Add hub logo in desk icon, link to page
* [hub] hide page head on empty state
* [hub] make rfq
* [hub] push opportunity doc, poll for opportunity docs
* add fields to item mapping
* update hub mappings
* Make RFQ
* [hub] item, home routing
* Make rfq and send opportunity refactor
* [hub][fix] remote lead data
* images passed as base64
* set default company on register
* Revert "images passed as base64"
This reverts commit 0b033a5fb7072b2d39a1b87a47dc41e7af707bb4.
* Add sync to hub page
* Prompt for publish items to hub
* add post process to hub document to lead
* Rename Hub document to Hub message, create opportunity in post process
* [Enhance] Subscription module
* Added view documents from the subscription form
* Test cases
* documentation
* UI Test cases, fixes
* Removed child table in the subscription
* Provision to make subscription from the document, added subscription in the dashboard for the sales and buying flow
* added patch to make subscription from the recurring data
* Rename field subscriptio to subscription_id, added new test cases, remove recurring_document from controller
* renamed subscription_id to subscription
* adds item_name to child table
* adds two new functions to utils:
- first_row_is_empty: to check if first row in child table is empty
- remove_empty_first_row: to remove the empty first row in a child table
* removes empty first row after getting from BOM
* ui test
* Use Python 3 style print function
* Use 'Exception as e' instead of 'Exception, e'
* Unpack tuple arguments explicitly in instead of relying on auto unpacking
* Use consistent indentation
* Use 0 if stock_frozen_upto_days is None