* pass bill_date as parameter and calculate due_date on that basis
* calculate payment_schedule on the basis of bill_date if present else posting_date
* add bill_date as an argument to get_party_details
* pass bill_date on supplier trigger in purchase invoice
* unconditionally fetch exchange rate
* Revert "unconditionally fetch exchange rate"
This reverts commit d0d404d342092b5ba4398ed3bd8d8ff8f60b5f8a.
* allow for `plc_conversion_rate` field to be reset
* fetch exchange rate using price list currency and company currency not form currency
* clean up
* 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
* merge shelf like and manufacturing date
* setting default manufacturing date as todays date
* setting default manufacturing date as todays date
* fix
* Improvements to batch auto naming (#12496)
* refactor:
add new function - batch_uses_naming_series
use batch_uses_naming_series in autoname method
* properly update naming series on delete:
- add new functions - get_batch_prefix, get_batch_naming_series_key, get_batch_naming_series
- refactor get_name_from_naming_series
- add after_delete method
* add documentation and rename some functions
* PEP 8 compliance
* test
* added support for jinja template and added validation if expiry date is set or not if item has_expiry_date is set
* bug fix, renamed item_code to item as in batch doctype we refer 'item code' by 'item'
* added manufacturing date wise sort
* added prefix to expiry date and manufacturing date
* Patch: Create Payment Terms based on default credit days set in company and use it while setting due_date
* Payment Terms patch for credit days defined in customer group
* add handler for due_date:
if due_date is changed and payment terms template or payment schedule is set,
ask user to clear them.
* ui test cases
* cleanup
* fix bug in batch number selector. fetch and display batch numbers only for the given item code.
* remove print statement
* Fix error on selecting Chattisgarh in address
Fix error on selecting Chattisgarh in address because of spelling mistake
* Revert "Fix error on selecting Chattisgarh in address"
* add Payment Terms Template field to delivery note:
- This helps for users who create invoice from Sales Invoice
- Field is hidden in print
- Field is not coupled to Payment Schedule table.
* do nothing in payment_terms_template trigger if doctype is Delivery Note
* minor fixes in agri
* updated desktop.py
* [agri] fixed recreation of dotypes in setup.py
* setup_wizard changes
- converted agriculture from alpha to beta
- rearranged the domains alphabetically
* [agri] linked doctype is collapsible
* created Soil Analysis, Water Analysis, Weather and Fertilizer doctype
* soil doctype edited and crop doctype added
* minor stuff
* Land Unit + Leaflet
* crop cycle added
* Land Unit changes + Crop cycle
* autoname for plant_analysis
* created Agriculture Task
* minor stuff
* - deleted agriculture_task
- current state after the call
* [Agriculture] modified fertilizer doctype to have a link to Item
This was done so that the `Fertilizer` doctype could track the contents exclusive to the fertilizer, whereas the `Fertilizer Item` could be a seperate entity, so as to leverage the existing ERPNext doctypes
* Added fields to `Water Analysis` doctype
- Collection Datetime
- Laboratory Testing Datetime
- Results Datetime (default to Laboratory Testing Datetime)
* Edited the doctypes `Agrivulture Task`, `Pest` and `Soil Texture`
- Created `agriculture task` doctype
- added fields `Common Name`, `Scientific Name`, `Treatment` and `Treatment Options` to `Pest` doctype
- edited `Soil Texture` doctype to contain a soil texture ternary plot diagram made using SnapSVG. The code was put in public folder so as to be accessible by the entire agriculture module
* Recursively reflect child land unit feature changes on parents
* fixed feature repition bug
* added legeneds to ternary plot
* added stuff
* changes
* fix Task
* reverted the Task Doctype to have naming in the form TASK.#####
* fixed modifications made to TASK doctype
* [dirty commit] added auto create Task from Crop on creation of Crop Cycle
* Changed the Crop Cycle Doctype
- Deleted the "Crop Cycly Task" doctype and its link from "Crop Cycle"
- Creation of a new Project with the same name as the Crop Cycle on creation of a new Crop Cycle
- Creation of all the tasks imported from Agriculture Task doctype of the Crop in the Crop Cycle
* [Agriculture Module] Modifications
- Created childtable doctype "Pest Detected"
- Added childtable "Pest Detected" to Pest
- Modified "Agriculture Task" to include "Start Day" and "End Day" of task
- Modified the code in "Crop Cycle" to create a parent task with same name as Crop Cycle
* [Agriculture Module] fixed Pest doctype not saving issue
* [Agrcilture Module] Changes in Crop Cycle
- removed the creation of a master task on creation of a new crop cycle
- temporary fix to add the pest tasks from the pests added in crop cycle
* land_unit_tree.js fields modified to have field objects instead of just field names
* Revert "land_unit_tree.js modified"
* land_unit_tree.js fields modified to have field objects instead of just field names
* [Agriculture Domain] Converted Agriculture Module to a Domain
- Converted into a Domain field from Select to Link field in Company doctype, linked to Domain doctype
- Agriculture (alpha) is now a Domain
* land_unit area aggregation enabled
* land_unit.py checks feature diff for every ancestor and not just the parent
* Removed unnecessary print messages
* agriculture.py modified to include fixtures
* fixtures added to setup.py inside agriculture module
* [Agriculture Domain] UI tests added
- 'materials' table renamed to 'materials_required' in 'Crop'
- wrote UI test for Crop, Fertilizer, Crop Cycle, Pest, Water Analysis, Soil Texture
- moved creation of tasks from client side to server side in Crop Cycle
- Plant Analysis, Water Analysis, Soil Analysis, Soil Texture docs are now autonamed in the format PAnalysis.#####, WAnalysis.#####, SAnalysis.#####, STexture.##### respectively
- company_name changed in domains.py from 'Schrute Farms.' to 'Schrute Farms'
* [Agriculture Domain] Mostly written server side tests and moved client side code to server side
- moved client side code to server side for Crop, Water Analysis, Pest, Soil Texture,
- wrote server side tests for Crop, Crop Cycle, Fertilizer, Soil Texture, Pest
- NOTE: none of the server side codes were tested
* [Agriculture Domain] All server side tests working locally
* [Agriculture Domain] Testing
- added sample test for Land Unit, which needs to be modified to test multiple things
- modified tests to be independant of each other
* Land Units tests added and area aggregation code migrated to server side
* added land_unit server side tests and on_trash added to land_unit
* Changing field location for start date
* [Agriculture Domain] deleted unnecessary comments
* [Agriculture Domain] reverted changes
* [Agriculture Domain] Modified the code to replace Pest doctype with Land Unit doctype
- Deleted the Pest doctype and replaced it with the more generic Disease doctype
- Deleted the Detected Pest doctype and replaced it with Detected Disease doctype
* [Agriculture Domain] resolves#11654, resolves#11653
* [Agriculture] Added links to soil analysis, soil texture, plant analysis in crop cycle and land unit
- not working perfectly yet
- docs are fetched but not appended
* [Agricuture] Crop Cycle modifed to link with relevent analysis docs, not fully functional
* [Agriculture] added seperate stage for client side agriculture tests
* [Agriculture] minor modification to crop_cycle.js test
* [Agriculture] fixed tests
* upgrade chromedriver in .travis.yml from 2.32 to 2.33
* [Agriculture] added land unit ui test
* [Agriculture] added Agriculture server side test as a seperate stage in travis
* tesing travis.yml
* [Agriculture] Crop Cycle is able to fetch linked analysis docs
* Modified travis.yml for modular server side testing
* [minor fix][Agriculture] in soil_texture
- fixed multiple soil_texture ternary plot creation on refresh
- fixed error on soil composition change
* Update .travis.yml
* removed location field from linked doctypes
* minor fixes and cleanup of agri
* minor fix in agriculture and domain patches
* permissions added to agriculture
- Agriculture Manager and Agriculture User roles were added to all Agriculture doctypes
* [Agriculture]
- Created Agiculture Analysis Criteria and added sample records to it
- All the analysis doctypes now fetch their fields inside a child table, form Agriculture Analysis Criteria
- Also Fertilizer does the same
This was introduced so that, new parameters could be added on demand
* minor changes requested in Agriculture
* minor changes
* minor fix
* Update desktop.py
* Update .travis.yml
* [multicheck] select multiple domains in setup
* use multiple domains in make_sample_data
* revert to setting in domains child table
* domains slide validation
* update setup wizard test
* [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
* renaming for the docs, demo data and patch
* changes in the doctypes and reports
* rename the config file
* Few name changes in messages and license
* rename the school settings to education settings
* changes in the documentation
* added the setup file for the fixtures
* corrected the ui tests file path
* fix the codacy
* add the patch for renaming few doctypes and fields
* changes in the patch
* 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
* [hotfix] fixed Permissions Error while fetching allow_stale field value from Accounts Settings
* [minor] renamed the allow_stale_rate method to stale_rate_allowed
* [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
* add new settings in Accouts Settings
* patch for new settings
* refactor `get_exchange_rate`
* adds validation
* tests validation
* disables conversion rate field if stale rates not allowed
* more test cases
more test case...
test `get_exchange_rate` behaviour with stale not allowed in sett..
fix currency exchange test case
do housekeeping after running accounts settings test
* clean up
* documentation
* make use of correct api url
* Fix tests failing due to wrong exchange rate from fixer.io
* remove mandatory constraint from `allow_stale`
* added info to documentation
* save the assessment instead of submit
* Added comments in the artool
* remove the cur_frm and message for submitted result
* link field for the assessment result
* [leaderboard] wip
* [leaderboard] filter for selecting leaderboard criteria, single col
* [leaderboard] doctypes in sidebar
* hide graph if no results
* [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
fix payment terms template setup:
- add_fetch to correct credit_days and credit_months not credit_days_months
fixed bug in `make_customer_gl_entry` and `make_supplier_entry:
all sales invoice were failing because they were all attempting to
make gl entry from payment schedule. Same with purchase invoices
* Additions in Order Page for Sidebar Menu with "Order" page route
* Adjust Columns in order_taxes.html to avoid number breaks for more precisions
* Fields additions in transaction_row.html
* [fix] style for order pages, indicator for quotation etc
* [fix] style for order pages, indicator for quotation etc
* [test] add timeout
* Removal of SMS Settings and SMS Parameter from ERPNext.
* [DOCS]Documentation for Two Factor Authentication
* [Patch]Point SMS module to frappe core
* Rearrange doc help index.txt to fit
* [DOCS]Update Documentation for Two Factor Authentication
* Adjust rounding loss of discount in the last item row. Fixes#8952
* Fixed rounding issue in tax calculation. Fixes#8953, #8952, #8893, #6954, #8910
* Rounding related fixes for purchase cycle
* [fixes] for user permission
* [docs] updated docs for user permissions
* [docs] updated docs for user permissions
* [docs] updated docs for user permissions
* [minor] check if the company is selected or not before triggering get_bank_cash_account
* [minor] check if production order is available
* [minor] fixed codacy errors
* Invoice copy, state code in gst print format, hsn code in other sales/purchase docs
* Formatted Net Amount in item-tax-breakup
* GST print format fixes
* removed trailing whitespace
* removed trailing whitespace
* cleaned up slides, yet to decide on master data
* remove item_count
* [fix] refresh slides on domain bug
* UI test
* set header image here in ERPNext
* [minor] lint checks
* [wiz] change autofilled fiscal year format
* [minor] fixed date format to dd-mm-yyyy if fiscal year is not available for country
* [Fix] Orders not creating from the POS for new customer if customer name is based on naming series
* [fix] Disabled price field in POS, if Allow User to Edit Rate field is disabled in POS profile
* added customer name in the search bar of the customer
* search customer by phone number and email id in the POS
* [minor] added filter for batch no field in purchase transaction
* [minor] filter the batch based on item_code instead of get_batch_no method
* [minor] filter based on item_code for Purchase Invoice with update stock
* 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
* deleted student batch creation tool
* Patch for deleting the doctype and config
* Changes in the student attendance
* Patch for renaming the student batch as student group
* Changes in the student attendance
* Change in the student attendance reports
- Absent student report
- Student Batch-wise attendance
- Student monthly attendance sheet
* Changes in the patch
* Changes in the course schedule
* Changes in the course scheduling tool
* Change in the assessment plan
* Changes in the assessment result tool
* Cleanup
* Changes in the api.py
* create student group from student batch
* delete student batch
* add patch
* remove student batch from config/schools.py
* Delete the depricated doctype with patch
* Changes in patch
* Changes as per PR
* email inbox
* inbox fixes
* separate email-inbox to pass tests
* separate email-inbox to pass tests
* fix import
* add more info to contact and address
Merged code for Student Attendance against Course Schedule and Student Batch
Student Attendance Tool now shows marked student attendance as well.
Fixed validation login in Student Attendance for duplicate Student Attendance Record validation"
1. validate_inspection() function defination in stock_controller.py
2. function call in purchase_receipt.py, purchase_invoice.py and delivery_note.py
3. added functality in quality_inspection.py file for linking to purchase_receipt_no and delivery_note_no