* Add new Select to filters
* get the currencies from database rather than hardcoded
* label report columns:
- If presentation currency is available in filters, use it or
- If company is available in filters, use it or
- use default company currency
* add new function - get_currency
* tweak new function `get_currency`
* add new function `convert` to convert a value to another currency
* add new function `convert_to_presentation_currency`
* clean up `get_currency` first pass
* memoise the exchange rates
* limit fetched GL entries to to_date
* check if account type is p&l or not and use appropriate exchange rate based on that
* change EXCHANGE RATE to a dict, use for memoisation
* rename EXCHANGE_RATE
* cache exchange rates and use them as needed
* add docstrings
* add presentation currency logic to financial statement reports
* move new functions from `general_ledger.py` to new module
* clean up
* PEP 8 clean up
* move function to util.py
* PEP 8 clean up
* remove presentation currency option from cashflow
* adjust currency as needed
* allow users to save presentation currency in Accounts Settings
* add new function `get_presentation_currency_list`
* refactor query_report modules with no promises
* Revert "allow users to save presentation currency in Accounts Settings"
This reverts commit 3b58a6296cf3f7b4d80ac55b03f9d5d4887b796b.
* show print page in correct currency
* Update utils.py
* [hotfix] fixed Permissions Error while fetching allow_stale field value from Accounts Settings
* [minor] renamed the allow_stale_rate method to stale_rate_allowed
* [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
* Concatenate docnames and send to mapper
* Multiselect with checkboxes
* set setters as separate filters
* Map filter fields to target_doc
* Get items from quotation (in SO) working
* [major] Set dialog setters for all forms
* Add date field
* Specify non-default date_fields
* [minor] add test_mapper.py
* [minor] remove cur_frm
* [minor][fix] test
* [minor] fix test with make_test_records