Commit Graph

157 Commits

Author SHA1 Message Date
marination
4f5a0b8941 chore: Fix flaky test test_exact_match_with_price
- Clear cart settings in cache to avoid stale values
2022-02-08 12:02:02 +05:30
marination
a64228741d fix: Trim spaces from attributes (multi-variant creation) & explicit method for building cache
- Multiple Item Variants creation fails due to extra spaces in attributes from popup. Clean them before passing to server side
- Mention explicit method to build variants cache to avoid ambiguity between old method path (pre-refactor)
2022-02-08 11:15:19 +05:30
marination
26bd3053d1 perf: Weed out disabled variants via sql query instead of pythonic looping separately
- If the number of variants are large (almost 2lakhs), the query to get variants and attribute data takes time
- If the no.of disabled attributes is large as well, the list comprehension weeding out disabled variants takes forever
- We dont need to loop over the variants data so many times
- Avoid any `if a in list(b)` is best when the iterables have tremendous data
2022-02-04 17:38:20 +05:30
marination
4b62d2d7fe fix: (Linter) Write queries using QB/ORM and other minor lines for semgrep to skip 2022-02-02 12:58:31 +05:30
marination
2933cf243a fix: Failing test, sider and linter
- Remove unused imports
- fix test `test_product_list_attribute_filter_builder`
2022-02-01 12:08:33 +05:30
marination
1d7f313b92 debug: CI 2022-02-01 11:12:05 +05:30
marination
00752ca01d fix: Wrong variable name breaks Cart Items rendering 2022-02-01 11:11:58 +05:30
marination
143ff715e7 fix: (test) set user for price test 2022-02-01 11:11:38 +05:30
marination
606f23b667 fix: Sider and Linter 2022-02-01 11:11:29 +05:30
marination
4f7ec25bbe tests: Variant without web item price fetch and add to cart
- Also, optionally get image from template web item for cart if variant has no image
2022-02-01 11:11:18 +05:30
marination
47c8ad0b94 fix: Cart Logic of Item variant without Website Item 2022-02-01 11:11:11 +05:30
marination
f2fbe9049f fix: Server Side test - teardown correctly 2022-02-01 11:10:04 +05:30
marination
2623046ba7 test: Variant Selector - Fetch next valid Attribute values fetching after selection of one 2022-02-01 11:09:46 +05:30
marination
5a462db207 test: Variant Selector - Attribute Value fetching 2022-02-01 11:09:35 +05:30
marination
6c7b3026c9 fix: Behaviour if Item Variants Cache generation
- Revert to old behaviour where variant doesnt need to be published
- Delete unused functions
2022-02-01 11:08:30 +05:30
marination
20c71edc84 fix: Exclude unpublished items while fetching items from other item groups 2022-02-01 11:07:53 +05:30
Devin Slauenwhite
49cdf9b7b0 fix(e-commerce): shopping cart total quantity (#29076)
* fix: shopping cart total quantity

* fix: linter error
2022-02-01 11:06:33 +05:30
marination
456f27724c fix: Convert Item links to Website Item links in Item Card Group template data
- Changed link option to Website Item in Item card group template
- patch to convert pre-existing data
2022-02-01 11:02:48 +05:30
Devin Slauenwhite
262fcbd9fb fix(test): e-commerce fetch logged-in user item price. 2022-02-01 11:00:37 +05:30
Devin Slauenwhite
18e70e8229 test: e-commerce customer pricing rule 2022-02-01 11:00:28 +05:30
Dany Robert
d4c74b546d fix: no module named 'redisearch' (#28818)
* chore: rename file to avoid the overriding

* fix: rename ref #1

* fix: rename ref in e_commerce_settings

* fix: rename ref in product_search.py

* chore: rename rsearch.py to redisearch_utils.py

* chore: rename rsearch to redisearch_utils in product_search
2022-02-01 10:58:18 +05:30
marination
02d92070be fix: search_box_id instead of search_box_class 2022-02-01 10:55:37 +05:30
marination
6583a83dd3 fix: Sider (missing semicolon) 2022-02-01 10:55:27 +05:30
marination
f63f250630 feat: Allow addition of custom search box
- allow passing custom search box class to bind search actions on
- this allows users to inject and get a custom search box running on any page
2022-02-01 10:55:05 +05:30
marination
7bc087ed44 fix: Merge conflicts, Linter and Server Test
- Resolve inconsistency due to conflict with https://github.com/frappe/erpnext/pull/27050
- Resolve Linter issues (imports and spaces)
- Include customer_reviews.js in bundle, move it to /public/js
2022-02-01 10:51:50 +05:30
marination
9fb61efba8 chore: Fix imports and formatting (linter) & Sider (unused import) 2022-02-01 00:54:54 +05:30
marination
b2b827f50f chore: Adjust to ESbuild and missing imports
- update erpnext web bundle and tweak to fit new build system
- change page id in scss due to change in v14 router
- add missing imports
2022-02-01 00:03:08 +05:30
marination
d7d70ec9e0 fix: Fetch thumbnail from Item master instead of regenerating 2021-11-16 17:52:14 +05:30
marination
296f2f6d52 fix: Pre-commit formatting 2021-11-16 17:51:16 +05:30
marination
ba52d7c23f fix: Website Items with same Item name unhandled, thumbnails missing
- Use naming series for Website Item. There could be two items with same name and different item code
- Fix: Website Item Page view breaks if cart is disabled
- Fix: thumbnails not created for Website Items after patch
- Fix: ‘Request for Quote’ button & cart summary not visible if checkout is disabled
2021-11-16 17:51:01 +05:30
Marica
d637f79517 fix: Handle is_search_module_loaded for redis version < 4.0.0 (#27574)
- Return False if error occurs
2021-11-16 17:48:31 +05:30
Marica
4096b1471f fix: Shopping Cart and Variant Selection (Hotfix PR #27508) 2021-11-16 17:46:57 +05:30
Deepesh Garg
cbfdbd8442 fix: Website item patch fixes 2021-11-16 17:42:04 +05:30
marination
685c453be0 test: Product Discounts 2021-11-16 17:40:49 +05:30
marination
942dedddb4 fix: Paging and Discount filter
- Convert incoming api args to frappe dict
- Change discount filter condition due to reversal of behaviour
2021-11-16 17:40:05 +05:30
marination
78b791cd1d test: Set Price list and company in data engine test setup 2021-11-16 17:38:25 +05:30
marination
e2b9a38f28 fix: Failing search util import and patch
- 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
2021-11-16 17:38:09 +05:30
marination
bbcbcf7a20 feat: (minor) Backorder indicator and fixed inconsistencies
- 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
2021-11-16 17:37:40 +05:30
marination
45f64bd930 Chore: Miscellaneous UI review changes
- 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
2021-11-16 17:37:08 +05:30
marination
1bb135b2d3 fix: Sider and CI
- 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.*`
2021-11-16 17:23:39 +05:30
marination
6b2b9dcee2 refactor: Cache Item Reviews and other review feedback
- `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
2021-11-16 17:22:57 +05:30
marination
9aeb211142 chore: Remove Home Page is Products and Sider fixes
- 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
2021-11-16 17:21:46 +05:30
marination
80fbe16be8 test: Product Query & Filter Engine, Item Group Page
- 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
2021-11-16 17:21:17 +05:30
marination
7d1df9d4c3 fix: Error state and passing args for product listing
- 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`
2021-11-16 17:18:08 +05:30
marination
335a237383 chore: Re-organise files,remove T&C modal in cart
- 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
2021-11-16 17:15:05 +05:30
marination
78ee51c6ca chore: debug travis 2021-11-16 17:11:02 +05:30
marination
b4529b8511 test: Recommendations, Reviews and Wishlist
- 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
2021-11-16 17:10:23 +05:30
marination
4d254a7ad3 test: Website Item (Item full page)
- 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
2021-11-16 17:10:07 +05:30
marination
3fd929c4ee test: Website Item basic test & removed product configurator tests
- Sider fixes: missing semicolons
- Added two basic tests for Website Item
- Commented Product Configurator tests, needs to re-written fully
2021-11-16 17:09:34 +05:30
marination
929a24ea5c feat: Cart minor UI/UX Refresh
- 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)
2021-11-16 17:03:17 +05:30
marination
ef4579e4eb chore: Wishlist UI (minor)
- 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
2021-11-16 17:03:01 +05:30
marination
2fec068aff feat: Recommended Items and Item full page refresh
- Added Optional Recommended Items
- Item Full Page minor UI Refresh
- Floating wishlist button in item full page
- Reviews section UI Refresh
2021-11-16 17:02:43 +05:30
marination
b5e7f04b33 chore: UI refresh for grid/list view and search
- 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
2021-11-16 17:01:06 +05:30
marination
c0811c4c74 fix: Discount Filtes & Filter behaviour
- 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
2021-11-16 16:57:49 +05:30
marination
d897062304 fix: Rename Wishlist Item, Use Website Item Name in Wishlist Cards
- 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
2021-11-16 16:55:28 +05:30
marination
16abfd4410 fix: Sync Website Items on Item Change, Short Website Description
- 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
2021-11-16 16:55:12 +05:30
marination
82f8f3caf2 feat: Guest Display Settings
- 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
2021-11-16 16:54:21 +05:30
marination
b450f1c583 fix: Filters state, Search input clearing, Paging buttons
- 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
2021-11-16 16:53:53 +05:30
marination
0dadf535c1 chore: Cleanup Query Engine and Product query API
- 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
2021-11-16 16:53:30 +05:30
marination
24c8967232 fix: Checkbox sizes and paging buttons
- Show paging buttons at all times and enable/disable buttons
- Define checkbox and radio button  sizes within erpnext
- Wishlist cards even height
2021-11-16 16:48:47 +05:30
marination
aca3c8fce7 fix: Font size, empty image styles, and minor cleanup
- some frappe css font variables weren't loading, remove dependency
- fixed fallback display for missing images in views
- py code cleanup (minor)
2021-11-16 16:48:33 +05:30
marination
24ba06c37b fix: Mixin import issue, search error handling, shop-by-category slideshow 2021-11-16 16:47:04 +05:30
marination
0c73f688e9 fix: Search UI open/close and Empty product search results 2021-11-16 16:46:54 +05:30
marination
ea30ce4c51 fix: Sider and Patch tests 2021-11-16 16:46:22 +05:30
marination
b0d7e32018 feat: Search UI
- 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
2021-11-16 16:45:48 +05:30
Hussain Nagaria
dcc79f1bfa fix: Documentation link and open in new tab 2021-11-16 16:41:08 +05:30
Hussain Nagaria
8b725cc9d7 chore: Redisearch warning in search settings 2021-11-16 16:40:56 +05:30
marination
53bb7a9cd1 chore: Shopping Cart styles and cleanup shallow
- 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
2021-11-16 16:39:58 +05:30
Hussain Nagaria
2514215ec4 chore: Redisearch module load tracking 2021-11-16 16:39:10 +05:30
Hussain Nagaria
bd0d0ad0de feat: Add decorator for redisearch 2021-11-16 16:37:41 +05:30
marination
b29c5d6e84 fix: Discount Filters and Web templates
- Fixed discount filters (didn’t work after js render change)
- Fix Item Card Group template height and style
- Add placeholder to missing images in Product Category Cards template
- Code cleanup
2021-11-16 16:37:08 +05:30
marination
03b88bd7b8 fix: Items Query, Sub categories, Review Button
- 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
2021-11-16 16:36:29 +05:30
marination
499fb56c0f fix: Move get_product_filtrs_data to website item file 2021-11-16 16:36:15 +05:30
marination
423d7516b4 fix: Empty states and miscellanous fixes
- 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
2021-11-16 16:35:43 +05:30
marination
8c20f66905 fix: Sider and Patches
- Sider fixes
- Deleted patches that worked as per old schema
- Cleared instances of web fields linked to Item master
2021-11-16 16:34:24 +05:30
marination
897c08c8e7 feat: Product View toggling
- 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
2021-11-16 16:14:59 +05:30
marination
48b3ce82b9 feat: (wip) Toggle Views
- 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
2021-11-16 16:11:09 +05:30
marination
f9929ed8a6 Merge branch 'develop' of https://github.com/frappe/erpnext into e-commerce-refactor-develop 2021-11-16 16:06:07 +05:30
marination
0a703740bb feat: Offer Display
- Added offers section in website item
- Added more roles to website item
- Fixed attachment limit issue in website item
- Created Website Offer child doctype
- Added offers listing in Item full page view
- style fixes
2021-10-12 18:16:03 +05:30
Hussain Nagaria
c69de2d7a8 chores: Add function params and remove unused imports 2021-10-12 18:15:07 +05:30
Hussain Nagaria
34f3a6629f feat: Show brand line in search results 2021-10-12 18:14:29 +05:30
Hussain Nagaria
9ee13ba86b feat: Add brand line display setting 2021-10-12 18:14:16 +05:30
Hussain Nagaria
ffc8616c63 refactor: Use global redis connection 2021-10-12 18:13:37 +05:30
Hussain Nagaria
ba25460edf chore: Make it a little beautiful 2021-10-12 18:13:27 +05:30
Hussain Nagaria
f3421554ad feat: Add Category autocomplete with config in settings 2021-10-12 18:02:24 +05:30
Hussain Nagaria
8e55c95ecc feat: Make search index fields configurable
- Move indexing logic to separate file
- Add more validation logic for 'search index fields' field
2021-10-12 18:02:09 +05:30
Hussain Nagaria
3160187825 feat: Add search fields field 2021-10-12 17:58:01 +05:30
Hussain Nagaria
0c47f3a876 feat: Add basic autocomplete using redisearch 2021-10-12 17:57:19 +05:30
marination
71f4b98d0c chore: Sider and Semgrep 2021-10-12 17:52:54 +05:30
marination
1d94914102 feat: Discount Filters
- Discount filters in filters section
- Code cleanup
2021-10-12 17:46:03 +05:30
marination
60261852b2 feat: Slashed Prices and Discount display
- 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
2021-10-12 17:38:36 +05:30
marination
3d5f029e51 fix: Sider and Tests 2021-10-12 17:33:22 +05:30
marination
c842305be0 feat: Customer Ratings & Reviews Full Page
- 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
2021-10-12 17:30:03 +05:30
marination
b15ff57a66 feat: (wip) Ratings and Reviews
- 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
2021-10-12 17:27:32 +05:30
marination
25ffafae81 feat: Product Details Tabbed Section and Add to Wishlist in Item Full Page
- 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
2021-10-12 17:25:51 +05:30
marination
59514408b9 feat: Wishlist Page
- 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
2021-10-12 17:23:55 +05:30
marination
96cc5068b2 feat: Wishlist from card actions
- Add remove items from wishlist
- Wishlist icon at nav bar
- Animate wishlist icon in card and navbar
- Remember wished state after refresh as well
2021-10-12 17:23:12 +05:30
marination
4f64d1c7f2 feat: Animate Add to Cart List interactions (UX)
- Increased qty in cart on clicking add to cart for existing item
- Simplified macro arguments
- Navbar cart icon animation
- Explore button for template item in card
- Add to cart button animation
2021-10-12 17:18:51 +05:30
marination
16b9c8c383 feat: Card Actions and Wishlist
- Rough UI for card actions
- Wishlist doctype
- Indicators on card based on stock availability
2021-10-12 17:18:06 +05:30
marination
d7130e31fe feat: Shop by Category
- 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
2021-10-12 17:00:30 +05:30