* [enhance] Opening Invoice Tool create Opening Sales/Purchase Invoices
* [minor] added progress bar while creating invoice
* [minor] allow bulk upload for the invoices
* [minor] calculate item rate from net total
* [minor] added defaults for invoices fields, create gl entries only if grand_total is greater than 0
* [minor] check mandatory values before making opening invoices
* [minor] enable primary button if there is any error while creating invoices
* [minor] minor fixes, set company currency as invoice currency added tests
* [dashboard] added Opening Invoice Summery section in Dashboard
* [minor] added total invoices count on dashboard
* [minor] don't show dashboard if there are no opening invoices available
* [minor] added Opening Invoice Tools to Account's Tools section
* [minor] codecy fixes
* [fix] refactored general ledger and buttons on charts
* [fix] tests
* added support for tree view
* nestedset added to handle tree based structure
* treeview ui added
* removed is_group dependency
* added validation while editing a group-task
* codacy fix
* BOM like filter added
* Added ui-test for treeview-task
* Add Training Program Doctype, Script, Config and documentation
* Add Training Program to Training Event
* [Test Case] Training Event in a Training Program
* [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
* Initial start of scorecard docs
* Got basic functionality working
* Fixed doc names and added key functions
* Basic functional version minus Actions
* Hide scorecard docs until functional
* Created supplier scorecard documentation
* Added default variables and standings. Added restrictions for PO + RFQ
* Automatic daily scorecard creation + on save
* Added warning for PO nd RFQs
* Minor fixes for codepy, automatically add variables for criteria, fix hooks.py typo
* Added tests, fixed codacy formatting, small improvements
* Fixed test bug w/ criteria. Codacy cleanup
* Fixed codacy issues. Fixed sticky criteria
* Fixed bug with period search. Remove blank variable child.
* Updated docs, automatically add criteria and standings, clean up period create message
* Uncommented test, set docs to beta
* Fix for nabinhait review
* Fix codacy issue. Fix dict assignment for 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
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"
* Linkage of academic term to academic year
* School improvements. Modifications to Academic Term, Assessment, Fees, Student Batch, Student Group. Addition of Grading System.
* Removed Grading System from Assessment and put it on Program
* Removed the field Grading System from Program and added it back to Assessment. Added some validations for dates in controller of Academic Term and Academic Year
* Added validation comparing term start dates with academic year start dates and term end dates with academic year end dates where both are available.
* Renamed Grading System to Grading Structure. Implemented the code in Assessment.js to derive the Grade Code from the result entered for the student. Assumes that result is always a number. Will rename the field result in Results to score.
* Added validation to check if any grade intervals were overlapping when a Grading Structure is being saved.
* Corrections to error in autonaming for Academic Term
* Correction in white_list method get_grade in Assessment. Solves problem with grades not being derived when the score is at the boundaries of a grade interval
* Correction to setup_wizard.py to make sure that creation of academic terms in create_academic_term includes the academic_year which is now mandatory
* Corrections to test_records.json for doctype Academic Term
* Correction of test_records.json in doctype Student Groups
* Correction of test_records.json for doctype Student Group 2
* Correction to test_course_schedule.py in doctype Course Schedule
* More corrections to test_course_schedule.py in doctype Course Schedule
* Corrections to test_course_schedule.py
* Updates to Student DocType. Enrollment date, Nationality
* Linkage of academic term to academic year
* School improvements. Modifications to Academic Term, Assessment, Fees, Student Batch, Student Group. Addition of Grading System.
* Removed Grading System from Assessment and put it on Program
* Removed the field Grading System from Program and added it back to Assessment. Added some validations for dates in controller of Academic Term and Academic Year
* Added validation comparing term start dates with academic year start dates and term end dates with academic year end dates where both are available.
* Renamed Grading System to Grading Structure. Implemented the code in Assessment.js to derive the Grade Code from the result entered for the student. Assumes that result is always a number. Will rename the field result in Results to score.
* Added validation to check if any grade intervals were overlapping when a Grading Structure is being saved.
* Corrections to error in autonaming for Academic Term