Warn: Just used regex to replace all usage.
```regex
s/frappe.db.set(\(.*\),\(.*\),\(.*\))/\1.db_set(\2, \3)/g
```
Required after: https://github.com/frappe/frappe/pull/18815
- all department creation always fails after first company, this is
handled in exception handling code but better to not attempt this in
first place.
- move department creation to company.py this has nothing to do with
setup and previous function signature made no sense.
- removed approver fields and payroll cost center from Employee master
- removed query filter code for HR related fields from employee and department form scripts
- removed `update_approver_role`
- Remove `total_expense_claim` field from Project and Task, will be installed with hrms setup
- Remove Expense Claim calculation from `update_costing` in project
- Remove `update_total_expense_claim` from task
- Remove Expense Claim references from employee form tour
- Remove 'Make Expense Claim' button from Delivery Trip, will only be available if hrms is installed
- Update delivery trip tests
- Salary Slip Loan dt moved to hrms, removed from erpnext app
- Repay from Salary field removed from Loan and Loan Repayment, installed on hrms app setup
- fixed references to salary slip loan fields
* refactor: DB independent quoting and truthy/falsy values
* style: reformat to black spec
* fix: ifnull -> coalesce
* fix: coalesce -> Coalesce
* fix: revert pypika comparison
* refactor: convert queries to QB
* fix: incorrect value types for query
`=` query makes no sense with list of values
* fix: remove warehouse docstatus condition
* fix: keep using base rate as rate
Co-authored-by: Ankush Menat <ankush@frappe.io>
* refactor: use CURRENT_DATE instead of CURDATE()
* style: reformat to black spec
* refactor: use QB for auto_close queries
Co-authored-by: Ankush Menat <ankush@frappe.io>
- Employee: used in Telephony, Stock, Quality, Projects, Manufacturing, Loans, Buying, Assets, Accounts, Dependent Apps: Healthcare
- Holiday List: CRM (Appointment Booking), Projects, Healthcare, Support (SLA), Education (Student's Holiday List)
- Branch: Selling (SMS Center), used widely as an accounting dimension
- Department: Assets, Projects, SMS Center, used widely as an accounting dimension
- Designation: Lead, Healthcare Practitioner, used in Employee master which will now be in core
- Employee Group: Telephony, Communication
- Child Tables for above dts: Employee Group Table (Employee Group), Employee Education (Employee), Employee External Work History (Employee), Employee Internal Work History (Employee), Designation Skill (Designation), Holiday (Holiday List)
- tweak `filters.py` to correctly query filter field values from Website Item
- Use Website Item for filter field options in Settings and Item Group Field Filter table
- Use absolute route even 3-4 sub-category levels down
- Remove scroll from category pills due to accessibility issues
- Arrange sub-category pills alphabetically
- Added 'Include descendants' checkbox, which will pull child item group products too
- Build item group filters in query engine file
- Include logic in filter engine
- Clean up Website section of Item Group page (UX)
- Add util to fetch child item groups including self
* feat: Provisonal accounting for expenses
* fix: Method for provisional accounting entry
* chore: Add test case
* fix: Remove test case
* fix: Use company doctype
* fix: Add provisional expense account field in Purchase Receipt Item
* fix: Test case
* fix: Move provisional expense account to parent
* fix: Patch
"All cusotmer groups" and "All territories" are pointless defaults, not
sure why these are made default. They don't help you track anything.
"All" might as well be `Null`.
Even the filters for customer_group suggest it shouldn't be group then
having the root as default makes no sense.
- Added bg (variable) to pages, card space separation visible
- Removed `show brand line` in settings, shown by default
- Re-arranged settings by importance
- View toggling primary colour is grey
- Only populate recent searches on successful search
- Hit only one server side api, once while searching
- List view primary button float right
- Discounts takes upper limit eg. 10% and below
- Navbar icons only wiggle on qty increase in cart/wishlist
- Pay button in SO portal
- Remove bottom white space below item full page image, min-height fits to content
- List view vertical space between heading and item code
- Empty offer subtitle handled
- Test for ProductQuery engine and ProductFilters engine
- Test for engine for Item Group too
- Renamed ‘product_configurator’ to ‘variant_selector’
- Cleaned up filters.py
- Modal freeze backdrop lighter only in cart, since there’s nothing over it
- Fixed unusual spacing in variant selector dialog
- Made `get_child_groups_for_website` more readable
- Replaced ‘Configure’ with ‘Select’ for variant selection
- Moved product query and filters engine to `product_data_engine` folder
- Moved product grid, list, search, view to `product_ui` folder
- Renamed `website_item_indexing.py` to `redisearch.py`
- Render Terms and Conditions server side along with the rest of the Shopping cart. Don’t make another db call
- Style changes to terms and conditions
- Deleted unused `cart_terms.html`
- Removed print statements
- Tests for website item. Desk tests and portal tests
- Allow guests on method `get_offer_details`
- Fetch stock details only if `show_stock_availability` is enabled
- Validation for duplicate web items on item merge
- Separate method for `validate_properties_before_merge`
- Common error title and exception `DataValidationError` for merge validations on Item
- enhanced UI for grid/list view, actions visible on hover only
- enhanced search UI
- Added indicator to show if item is in cart
- Moved search with view togglers
- Added fully functional list and grid view toggling
- Added ProductGrid and ProductList controllers
- Moved html snippets, rendered via JS now
- Item Group page also rendered via common controller
- Paging section rendered via JS
- Minor style changes