* fix: Maintain same rate in Stock Ledger until stock become positive
* fix: Maintain same rate in Stock Ledger until stock become positive
(cherry picked from commit 10754831c3)
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
* fix(Payroll): incorrect component amount calculation if dependent on another payment days based component (#27349)
* fix(Payroll): incorrect component amount calculation if dependent on another payment days based component
* fix: set component amount precision at the end
* fix: consider default amount during taxt calculations
* test: component amount dependent on another payment days based component
* fix: test
(cherry picked from commit bab644a249)
# Conflicts:
# erpnext/payroll/doctype/salary_slip/test_salary_slip.py
* fix: conflicts in test file
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
* refactor: .doc missing and empty row on new doc
* fix: let -> const
(cherry picked from commit acdb10377f)
Co-authored-by: Noah Jacob <noahjacobkurian@gmail.com>
* fix: auto complete sales order rows in production plan
* fix: sider
(cherry picked from commit 81d3524d27)
Co-authored-by: Alan <2.alan.tom@gmail.com>
* fix: remove translations from GL report options
Options need not be translated, their display label gets translated
client side.
* fix: make group by options translatable
* ci: semgrep rule for translated options in report
Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
(cherry picked from commit fa819f2fb0)
- Use simple function import instead of global variable to check if field is valid to index
- Commit after every 20 items in patch to create web items from items
- Checkbox in website item to indicate if item is on backorder
- Indicator on listing on full page if availbale on backorder.
- fix: Allow provision to add any valid field from Website Item in Search Index
- fix: Settings filter fields are as per Item, make as per Website Item
- "Add to quote/ Go to Quote" if cart checkout is disabled
- 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
* ci(semgrep): add translation checks for report labels
* refactor: shift report tests to it's own yml
path can't be applied on a test id basis
* ci: ignore regional report in translation checks
[skip ci]
(cherry picked from commit 72ece75b11)
Co-authored-by: Alan <2.alan.tom@gmail.com>
* fix: validate service unit setup against practitioner schedule
* fix: service unit properties getting overwritten
(cherry picked from commit ef76f62bc1)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
* fix: validate service unit setup against practitioner schedule
* fix: service unit properties getting overwritten
(cherry picked from commit ef76f62bc1)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
* feat: (consistency) Add Primary Address and Contact section in Supplier
- The same is present in customer and is inconsistent with supplier
- Helps quickly create primary address and contact via quick entry
* fix: Popup stale build and data consistency
- Include `supplier_quick_entry.js` in erpnext.bundle.js
- Create primary supplier address on update
- Set newly created address (quick entry) in Supplier and Customer
- Clear address set in supplier and customer on delete (dependency)
* fix: Indentation and removed f-strings
- Sider: fixed indentation in js
- Dont use f-strings in queries
(cherry picked from commit 3d87d9f1d3)
Co-authored-by: Marica <maricadsouza221197@gmail.com>
* fix: incorrect calculation in get_range_age
* fix: remove serial numbers not in stock from fifo_queue
* refactor: make serial_no condition explicit
* refactor: reduce code duplication
Co-authored-by: Dany Robert <rtdany10@gmail.com>
Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
(cherry picked from commit 5fd04101d4)
* feat: (consistency) Add Primary Address and Contact section in Supplier
- The same is present in customer and is inconsistent with supplier
- Helps quickly create primary address and contact via quick entry
* fix: Popup stale build and data consistency
- Include `supplier_quick_entry.js` in erpnext.bundle.js
- Create primary supplier address on update
- Set newly created address (quick entry) in Supplier and Customer
- Clear address set in supplier and customer on delete (dependency)
* fix: Indentation and removed f-strings
- Sider: fixed indentation in js
- Dont use f-strings in queries
* feat(healthcare): Added Treatment Plan Template feature (#26557)
* feat: Added doctypes for treatment plan template
* feat: Added child doctype
* feat: Added validations for patient age
* chore: Clean up treatment plan template
* fix: Limit plan items to templates
* Added multiselectdialogbox for treatment plan template
* Add template name as autoname
* Clean up code
* Cleanup lint issues
* Clean up code
* Added tests for tpt filters
* Added test records
* Fix order of fields
* Added tests for care plan template
* Added age property for patient
* Clean up code
* Clean up list view
* Clean up code
* Fix lint issues
* Clean up test records
* Code cleanup
no-docs
* chore: Code cleanup
* chore: Use ORM instead of raw sql
* fix: Make treatment plan item fields mandatory
* fix: Added healthcare roles in permissions rules
* fix: Added filters for symptoms, diagnosis
* fix: Show applicable treatment plans button only if patient is present
* fix: Fix key error issues
* fix: Fix issues with filters in plan templates
* chore: Fix age filters
* refactor: appending treatment plan items
* fix: treatment plan test
Co-authored-by: Jannat Patel <31363128+pateljannat@users.noreply.github.com>
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
(cherry picked from commit f1b77360ee)
# Conflicts:
# erpnext/healthcare/doctype/patient/patient.py
* chore: Fix merge conflicts
Co-authored-by: Chillar Anand <anand21nanda@gmail.com>
* fix: operation time auto set to zero (#27188)
(cherry picked from commit e6799d78ef)
# Conflicts:
# erpnext/patches.txt
* fix: conflicts
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
* fix: operation time auto set to zero (#27188)
(cherry picked from commit e6799d78ef)
# Conflicts:
# erpnext/patches.txt
* Update patches.txt
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
* chore: remove deprecated and empty QUnit tests
* ci: fix UI test config
Testing library was added on Frappe, in order to reuse command testing
library has to be installed during setup process.
(cherry picked from commit ae55eab599)
Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
- Incorrect path and Settings in price_list.py import due to merge
- Extra space removed in website_item.py
- Changed client side namespace to `erpnext.e_commerce.*`
* fix(Sales Invoice): Let invoice be created for Sold Assets if it's a return invoice
* fix(Sales Invoice): Print appropriate message if item.asset is missing when the Item is a Fixed Asset
* fix(Sales Invoice): Fix GL Entry creation for Return Invoices linked with Assets
* fix(Sales Invoice): Print appropriate message if Asset isn't specified when the Item is a Fixed Asset
* fix(Sales Invoice): Let invoice be created for Sold Assets if it's a return invoice
* fix(Sales Invoice): Reset disposal_date on returning the Asset
* fix: Rename get_gl_entries_on_asset_movement to get_gl_entries_on_asset_disposal_and_regain
* fix: Make functions more readable
* fix: Let create_item() make items that are fixed assets
* fix: Test GL Entries made when an Asset is returned
* fix: Create asset data
* fix: Test
Co-authored-by: Saqib <nextchamp.saqib@gmail.com>
* fix: cannot reconcile bank transactions against internal transfer payment entries (#26932)
* fix: Only set Clearance Date for Payment Entries of type Internal Transfer if both Transactions have been reconciled
* fix: Reset clearance_date for intra-company Payment Entries that have only been reconciled with one Bank Transaction
* fix: indentation and args
Co-authored-by: Saqib <nextchamp.saqib@gmail.com>
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
(cherry picked from commit 842ceb1301)
# Conflicts:
# erpnext/patches.txt
* fix: merge conflict
* fixed patches
Co-authored-by: Ganga Manoj <ganga.manoj98@gmail.com>
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
* feat: add provision for process loss in manufac
* feat: add is process loss autoset and validation
* fix: add warehouse and unset is scrap for process loss items
* refactor: shift auto entry of is process loss check, update validations
* test: add bom tests for process loss val, add se test for qty calc
* fix: add more validations, remove source wh req for pl item
* fix: sider
* refactor: polyfill ??
* fix: sider
* refactor: validation error message formatting
* test: check manufacture completion qty in se and wo
* fix: wo tests, sider, account for pl in se validation
* fix: reword error messages, fix test values
* feat: add procss_loss_qty field in work order
* feat: process loss report, fix set pl query condition
* fix: correct value in test
* fix: get filters to work
- reorder and rename columns
- add work order filter
* fix: Shopping cart Exchange rate validation (#27050)
* fix: Shopping cart Exchange rate validation
- Use `get_exchange_rate` to check for price list exchange rate in cart settings
- Move cart exchange rate validation for Price List from hooks to doc event
- Call cart exchange rate validation on PL update only if PL is in cart and currency is changed
* chore: Comment out obsolete test
- Modifying this test means considering extreme edge cases, which seems pointless now
* fix: Remove snippet that got in due to cherry-pick from `develop`
- This snippet is not present in v13-hotfix. Via https://github.com/frappe/erpnext/pull/26520
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
* feat: initialize party link for customer & suppliers
* feat: toggle to enable common party accounting
* feat: auto create advance entry on invoice submission
* test: creation of advance entry on invoice submission
* fix: remove unwanted filter query
* feat: validate multiple links
* fix: party link permissions
* perf: reduce number of queries to get party link
* fix: cost center & naming series
* fix: cost center in test_sales_invoice_against_supplier
* fix: Don't create inward SLE against SI unless is internal customer enabled (#27086)
* fix: Dont create inward SLE against SI unless is internal customer enabled
- Check if is internal customer enabled apart from target warehouse
- Test to check if inward SLE is made if target warehouse is accidentally set but customer is not internal
* test: Use internal customer for delivery of bundle items to target warehouse
- created `create_internal_customer` util
- reused it in delivery note and sales invoice tests
- use internal customer for target warehouse test in delivery note
(cherry picked from commit f4dc9ee2aa)
# Conflicts:
# erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
* fix: prevent over riding scrap table values, name kwargs, set currency
* fix(regional): minor fixes and test for South Africa VAT report (#26933) (#27162)
* fix: allow to change incoming rate manually in case of stand-alone credit note (#27164)
* fix: allow to change rate manually in case of stand-alone credit note (#27036)
Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit fe4540d74d)
# Conflicts:
# erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
* fix: resolve conflicts
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
* fix: Fee Validity fixes (#27161)
* fix: Fee Validity fixes (#27156)
* chore: update Fee Validity form labels
* fix: first appointment should not be considered for Fee Validity
* fix: Fee Validity test cases
* fix: appointment test case
(cherry picked from commit 642b4c805c)
* fix: overlapping appointments
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
* fix: Merge conflicts and place internal customer creation util in test_customer.py
* fix: internal customer util returns 'str' not doc object
* fix: negative qty validation on stock reco cancellation (#27170) (#27171)
* test: negative stock validation on SR cancel
* fix: negative stock setting ignored in stock reco
In stock reconcilation cancellation negative stock setting is ignored as
`db.get_value` is returning string `'0'` which is not casted to int/bool
for further logic. This causes negative qty, which evantually gets
caught by reposting but by design this should stop cancellation.
* test: typo and minor refactor
(cherry picked from commit e7109c18db)
Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
Co-authored-by: 18alantom <2.alan.tom@gmail.com>
Co-authored-by: Marica <maricadsouza221197@gmail.com>
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
Co-authored-by: Saqib Ansari <nextchamp.saqib@gmail.com>
Co-authored-by: Frappe PR Bot <frappe.pr.bot@gmail.com>
Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
* refactor: bom recursion checking
* fix: dont allow bom recursion
if same item_code is added in child items at any level, it shouldn't be allowed.
* test: add test for bom recursion
* test: fix broken prodplan test using recursive bom
* test: fix recursive bom in tests
(cherry picked from commit c07dce940e)
Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
* test: negative stock validation on SR cancel
* fix: negative stock setting ignored in stock reco
In stock reconcilation cancellation negative stock setting is ignored as
`db.get_value` is returning string `'0'` which is not casted to int/bool
for further logic. This causes negative qty, which evantually gets
caught by reposting but by design this should stop cancellation.
* test: typo and minor refactor
(cherry picked from commit e7109c18db)
Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
* fix: Fee Validity fixes (#27156)
* chore: update Fee Validity form labels
* fix: first appointment should not be considered for Fee Validity
* fix: Fee Validity test cases
* fix: appointment test case
(cherry picked from commit 642b4c805c)
* fix: overlapping appointments
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
* fix: Dont create inward SLE against SI unless is internal customer enabled
- Check if is internal customer enabled apart from target warehouse
- Test to check if inward SLE is made if target warehouse is accidentally set but customer is not internal
* test: Use internal customer for delivery of bundle items to target warehouse
- created `create_internal_customer` util
- reused it in delivery note and sales invoice tests
- use internal customer for target warehouse test in delivery note
(cherry picked from commit f4dc9ee2aa)
# Conflicts:
# erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
* fix: Shopping cart Exchange rate validation
- Use `get_exchange_rate` to check for price list exchange rate in cart settings
- Move cart exchange rate validation for Price List from hooks to doc event
- Call cart exchange rate validation on PL update only if PL is in cart and currency is changed
* chore: Comment out obsolete test
- Modifying this test means considering extreme edge cases, which seems pointless now
* fix: Remove snippet that got in due to cherry-pick from `develop`
- This snippet is not present in v13-hotfix. Via https://github.com/frappe/erpnext/pull/26520
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
Summary : unable to create manual / auto asset depreciation entry when cost_center is mandatory
Reason: Though we are calculating value for depreciation_cost_center, it is not passed in credit_entry(it is passed in debit_entry) and this prevents creation of manual / auto asset depreciation entry when cost_center is mandatory
Solution : pass already calculated depreciation_cost_center value in credit_entry (in line with, already done as in debit_entry)
(cherry picked from commit b99c011947)
Co-authored-by: Ashish Shah <mr.ashish.shah@gmail.com>
* fix: update test suite to accodomate new currency exchange function
* feat: Increase number of supported currency exchanges
* fix: don't make api call when testing
* remove condition for test(being fixed in another pull request)
Sales Invoice doctype is starting to hit row length limit as many
integrations add custom fields on this doctype. This is just a small
change to remove VARCHAR(140) fields and reduce row size wherever
possible.
(cherry picked from commit 8d116fb9ff)
Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
* refactor: update stock onboarding
* refactor: add form tour for stock module onboarding
* refactor: move trailing whitespace out of translate func
* refactor: sider/semgrep
* refactor: remove DN, PR; change wording, add/remove steps in tour
* refactor: add watch video step for stock opening balance
* refactor: reorder steps according to stock settings refactor
* refactor: fix typo, remove target warehouse cause SE Type dependency
* fix: semgrep, remove trailing and leading whitespaces
* refactor: reduce steps, reword cards
* fix: minor changes
- remove Is Group from warehouse
- change stock entry type
- link to stock entry type
- add posting date to stock reco
- change report to Stock Projected Qty
- highlight quality inspection action
- remove allow neg highlight
* refactor: use Form Tour doc instead of controller form tour
note - keeping controller form tours as a fallback, new form tours
seem to work only for Stock Settings
* fix: rename form tours to doctype names, remove tours from js controllers
* fix: re-order tour to circumvent glitchy save highlight
- `get_doc` -> `get_values` and `db.sql` -> `db.delete` in Wishlist Item deletion
- cache first page of Item Reviews and burst cache on addition and deletion of reviews
- Update redisearch docs link in E Commerce Settings
- Removed unused cint import
- Broke setting attribute context into smaller functions and code cleanup
- Minor recommended items padding tweak
- Item reviews form dict now uses website item as key
- Customer reviews rendered from UI style consistency
- Stock status consistency in listing and full page
- Handle no price in variant dialog for matched item
* fix: broken URL
The quotations are supplier quotations, not sales quotation.
* fix: remove erpnext from path
(cherry picked from commit c7bad657b1)
Co-authored-by: Dany Robert <rtdany10@gmail.com>
* perf: reduce number of queries to validate selling price
* fix: improved flow and formatting
* fix: improve condition and use of `as_dict`
Co-authored-by: Sagar Vora <sagar@resilient.tech>
(cherry picked from commit 7c957d72b3)
Co-authored-by: Pruthvi Patel <pruthvipatel145@gmail.com>
- Removed `Home Page is Products` checkbox in E Comm Settings. Can be manually set in Website Settings
- Removed hooks trigger to reset home page as products
- Sider: duplicate color attribute, shift `return` to next line, over-indentation
* test: tests for correct get_period_date_ranges
* fix: stock analytics report date range issues
- Upon selecting second half of month with Monthly filter, data from
that period was missing.
- Solution: "round down" the date as per expected frequency.
* chore: drop py2 and fix misleading docstring
* test: fix test to avoid FY clash
* feat: add company filter in stock analytics report
[skip ci]
Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit 0dff0beaba)
* fix: pass planned start date to created workorder
* test: production plan to work order start date
Co-authored-by: Alan <2.alan.tom@gmail.com>
Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
(cherry picked from commit 9225f02599)
* fix: (tests) get_healthcare_docs and get_medical_department separated, related changes
* feat: Service Unit option to allow overlap, overlap capacity
Appointment to allow overlapping appointments
Co-authored-by: Akash Krishna <akash@earthianslive.com>
* feat: Create multiple service units from tree view
Co-authored-by: Akash Krishna <akash@earthianslive.com>
* feat: patient address and contact
patient dashboard links, customer stats
* fix: sider review
* fix: untranslated message
* fix: enable non-negative check for service unit capacity
- incorrect depends on statement in dialog
* refactor(UX): Available Slots Dialog
* chore: remove unused field from Healthcare Service Unit Type
Co-authored-by: Akash Krishna <akash@earthianslive.com>
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
* fix: add child item groups into the filters
* fix: appending values to proper variable
* fix: refactor the loop
(cherry picked from commit c60d5523bc)
Co-authored-by: Afshan <33727827+AfshanKhan@users.noreply.github.com>
* fix: assigning values to rows in sales register reports
* fix: check for is_internal_customer for unrealized_profit_loss_account
(cherry picked from commit ecd6584c50)
Co-authored-by: Afshan <33727827+AfshanKhan@users.noreply.github.com>
* test: fix test due to rename change
* test: fix attendance request tests
- Use `frappe.db.get_value` instead of `get_doc` for asserting values
- Get values after cancellation as reloading attendance doc breaks due to stale doc (primary key changed after cancel of attendance request)
- rollback everything on tearDown
* test: fix Shift Request test
- Use `get_value` instead of `get_doc`
- Remove unnecessary loop, only one shift assignment is made against a shift request
- Get value after cancel again. Get doc is not reliable since primary key changed after cancel
* test: fix POS Closing Entry Test
- Separated into two tests, one checks if SI cancelling is blocked, the other checks PCE cancel impact
- This is done because after cancel via assertRaises, damage done by cancel still exists or is partially comitted
- Dont use this partially cancelled doc for any assertions further, end test at exception assertion
- Use `get_value` to check SI docstatus, as its primary key changes after cancel
* test: fixed asset movement tests
- set cwip account in company to avoid value missing
- removed unused statement
- removed trailing spaces
* Revert "test: fix POS Closing Entry Test"
This reverts commit 8f1a3aef2e.
Co-authored-by: marination <maricadsouza221197@gmail.com>
fix: Incorrect `modified` time in documents that inherit from `StatusUpdater`
(cherry picked from commit d932cba38a)
Co-authored-by: Sagar Vora <sagar@resilient.tech>
fix: Changed label to "Inpatient Visit Charge" in appointment type
(cherry picked from commit 8c851b7019)
Co-authored-by: Chillar Anand <anand21nanda@gmail.com>
- 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
* fix: training event employee status not updated on feedback submission
* feat: update attendees status on training event status update
* test: Training Event and Feedback
* chore: remove unused import
(cherry picked from commit bf75ea70fb)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
* fix: add z-index to filter to avoid svg wrapper overlapping
* fix: expand all nodes not working when there are only 2 levels
- added dom freeze while expanding all nodes and exporting
(cherry picked from commit 67e3971c3b)
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
- Due to plain assignment, dict mutation gave wrong monthly values
(cherry picked from commit fe2a34f171)
Co-authored-by: Marica <maricadsouza221197@gmail.com>
- Show error state in case of unexpected errors in query engine
- Pass args appropriately from `view.js`
- Use args correctly in `api.py`
- Error handling in `api.py` if query engine raises error
- Instantiated product data engine tests
- Fix dotted path for search api call in `search.js`
- 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
* perf: only validate if voucher is journal entry
* perf: optimize merge GLE
- Order fields such that comparison will fail faster
- Break out of loops if not matched
* perf: don't try to match SLE if count mismatch
* refactor: simplify initialize_previous_data
* perf: use cache for fetching valuation_method
These are set only once fields
* refactor: simplify get_future_stock_vouchers
* refactor: simplify get_voucherwise_gl_entries
* perf: fetch only required fields for GL comparison
`select *` fetches all fields, output of this function is only used for
comparing.
* perf: reorder conditions in PL cost center check
* perf: reduce query while validating new gle
* perf: use cache for validating warehouse props
These properties don't change often, no need to query everytime.
* perf: use cached stock settings to validate SLE
* docs: update misleading docstring
Co-authored-by: Marica <maricadsouza221197@gmail.com>
(cherry picked from commit 9152715f90)
Co-authored-by: Ankush <ankush@iwebnotes.com>
- Tests for verified and unverified item reviewers
- Test for recommended items and their prices
- Test for adding removing items from Wishlist
- Bug: Wishlist deletes all entries of an item code irrespective of user
- Get Item reviews only if enabled
- Removed price fields from Wishlist Item and made fields read only
- Removed unused price stored as data on Wishlist buttons
- Customer Reviews page checks if reviews are enabled else shows No Reviews
- Moved price stock fetching in Wishlist in separate function
- Made fields read only in Item Review
- 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
- Added Setting to show or hide price if checkout is disabled
- Show Web Item name in cart instead of Desk Item name
- Cart minor UI Refresh: added images in cart
- Cart minor UI Refresh: repositioned remove button and redesigned
- Cart minor UI Refresh: Payment Summary section
- Cart minor UI Refresh: Disable input on free item
- Cart minor UI Refresh: Add address button in cards
- New file for cart payment summary UI with coupon code (old)
- Minor wishlist UI refresh, actions on hover, new icon
- Increase max length of wishlist card title
- Dont fetch outdated price in wishlist
- Translate 'out of stock'
- Use ORM
- 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
- Client: Maintain state where listing is re-rendered due filter trigger
- Client: Handle binding/restoring discount filters separately on filter trigger
- Client: Placeholder Image for search results
- If any filter is checked, query and display items from page 1
- Query Engine: Smaller functions and handle discount filter properly
- Added index on item group and brand for Website item
- Renamed Wishlist Items to Wishlist Item
- Use Website Item Name in Wishlist
- Add Website Item Name field in Wishlist Item
- Remove accidental extra `font-size` attribute
- Added Short Description in Website Item for List View
- Update Website Item on Item info change
- Un-publish Web Item if Item is disabled
- Removed unnecessary dependency on Item from query engine
- Rearranged item detail fields in Website Item
- Added Link to Website Item on Item Dashboard
- Re-arranged Settings checkboxes
- Deleted `show_availability_status` from E Commerce Settings
- Added `Hide Price for Guest` functionality
- Added Custom Redirection for Guest Actions in E Commerce Settings
- Minor cleanups
- Fixed repetitive calls on checking filter checkbox
- Query count of items after offset for accurate Paging button display
- Order items by ranking in query
- Search results get empty on clearing input
- Resolved merge conflicts in item_group.py
- Separate api.py file for product listing backend api
- Brought back ORM in query engine, handled missing cases (website item groups, etc)
- Return results from API in a descriptive manner, helps keep sanity in JS
- On toggling views store view preference in localStorage
- Search UI with dropdown results
- Client class to handle Product Search actions and results
- Integrated Search bar into all-products and item group pages
- Run db search without redisearch
- Cleanup: [Search] change decorator names and variables
- Sider fixes
- Added remove button to cart item rows
- Freeze on change in Shopping Cart (UX)
- Fixed cart items and taxes/totals alignment issues
- Made Cart responsive
- Added free item indicator
- Fixed item group nested routing issue
- Sales Order is populated with right source warehouse
- Include Item Variant table in query only if attributes are involved
- Render sub categories of they exist, even without items
- 'Write a Review' provision only if user is a customer
- Added Wishlist and Product Listing empty states
- Hide ‘Write Review’ button f user is not Customer
- Fixed grid view title (missing arg)
- Render empty state if no items form server side
- Removed unused function
- Guest user redirected to login on clicking Wishlist button
- Fixed ‘Notes’ field clearing issue
- 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
- Auto Height on Cards
- Title with ellipses on length exceed
- Changed namepaces
- Moved product card rendering to JS
- Added Image and List View Toggling buttons
- Kept basic filters rendering just as before
- Registered mrp and price after discounts
- slashed price with discount in listing, item page and wishlist
- removed redundant imports
- renamed method to `get_web_item_qty_in_stock` to get Website Item stock
- adjusted styles for resizing
- made add to cart button full width on cards
- Created macros for repetitive snippets
- Created Customer Reviews full page
- View more button to reveal 10 more reviews at a time
- Common function to get reviews with start and end
- Added Ratings and Reviews section in Item full page view
- Added provision to write a review with popup
- Created Item Review Doctype to store User-Item unique reviews
- Added privision to enable/disable wishlist and reviews in e commerce settings
- Hide cart and wishlist actions everywhere (even navbar) depending on settings
- Moved some more inline css to scss
- Small logic fixes
TODO: Reviews full page view with paging
- Add to Wishlist button next to add to cart
- Beautified Product Specifications table section
- Product Specifications can be optionally in a tabbed section with custom tabs added
- Removed hard coded gray bg to allow custom theme overwrites
- Fixed resizing issues in Item Full Page view
- Cleaned up inline styles and ported to scss
- Navbar icon with badge count for wishlist
- Wishlist page with cards
- Cards can be moved to cart or removed in a click
- Separated all wishlist related methods into wishlist.js
- Made a common js method(util) to add/remove wishlist items
- Bug fix: Make sure items are removed from session user's wishlist
- Added Shop by Category Page
- Tabbed sections for item fields in Shop by Category Page
- Added Shop by Category Section in E commerce Settings
- Nested Navigation & Breadcrumbs in Item group pages
- Added scrollable & clickable Sub categories in Item Group page
- Made breadcrumbs slightly dynamic in Item Page
- Added image to Brand doctype
- Moved all files and web templates from Shopping Cart to E-commerce module
- Made Shopping Cart module obsolete
- Moved select E-commerce related files from Portal to E-commerce module
- Minor cleanups
- Fixed Shopping Cart and Product Configurator tests
- Patch to make website item from item
- Patch to move Products and Shopping Cart Settings into E Commerce Settings
- Patch to move products in Homepage from Item to Website Item
- Minor cleanup, replacing/removing references to Item website fields (obsolete)
- Removed Shopping Cart Settings
- Portal fully driven via E Commerce Settings
- All Item listing querying will happen via ProductQuery engine only
- Product Listing via Website Items
- removed redundant code
- Moved all website logic from Item to Website Item
All user facing text must be wrapped in translate function. Please refer to translation documentation. https://frappeframework.com/docs/user/en/guides/basics/translations
languages:[python]
severity:ERROR
- id:frappe-translated-values-in-business-logic
paths:
include:
- "**/report"
patterns:
- pattern-inside:|
{..., filters: [...], ...}
- pattern:|
{..., options: [..., __("..."), ...], ...}
message:|
Using translated values in options field will require you to translate the values while comparing in business logic. Instead of passing translated labels provide objects that contain both label and value. e.g. { label: __("Option value"), value: "Option value"}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.