Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: E-commerce (port to develop) #27923

Merged
merged 142 commits into from
Feb 3, 2022

Conversation

marination
Copy link
Collaborator

@marination marination commented Oct 12, 2021

Depends on frappe/frappe#15831


front port of #24603

ToDo:

  • Finish Porting all commits (fixes and from feat: E-commerce Refactor #24603)
  • Test functionality manually (need to fix build issue on cart and item full page)
  • fix server side tests (cherry pick fixes)

marination and others added 30 commits October 12, 2021 15:16
- Created "Website Item" to handle website related information
- Publishing Item new flow
- Created "E Commerce Settings"
- Removed Products Settings
- 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
- Removed old onboarding slide json and `create_onboarding_docs` methods
- Removed website sections from Item master
- Removed references to item website fields
- Shifted Item doctype website methods to Website Item
- Removed WebsiteGenerator from Item doctype
- Website Items in Homepage Products section
- Removed redundant code from item_group.py
- Fix: Item field filters won’t appear in website
…ce Settings

- Hide Attribute filters if 'Hide Variants' is enabled in E Commerce Settings
- Consider 'Hide Variants' in ProductQuery Engine
- Added docstrings
- Remove `get_e_commerce_settings`, redundant
- 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)
- 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
- 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
- Rough UI for card actions
- Wishlist doctype
- Indicators on card based on stock availability
- 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
- Add remove items from wishlist
- Wishlist icon at nav bar
- Animate wishlist icon in card and navbar
- Remember wished state after refresh as well
- 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
… 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
- Removed wish-red variable
- Removed hover state from remove wishlist item button in card
- Removed inline css from wishlist item card
- 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
- 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
- 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
- Modified date changed due to merge conflict
- Changed it to a later date to make sure Item migrates correctly
- Discount filters in filters section
- Code cleanup
- Move indexing logic to separate file
- Add more validation logic for 'search index fields' field
@marination
Copy link
Collaborator Author

No e-commerce tests failing.
Tests failing (datetime issues) due to frappe/frappe#15560, to be fixed in frappe/frappe#15847

marination and others added 4 commits February 3, 2022 12:54
- Add cart.js to web bundle
- Hide icon conditionally since now this file loads on every single page
The goal of this fix is to not break the patch in case of customizations
In this particular case, it's regarding a customized Note DocType with
multiple custom mandatory fields
@ankush
Copy link
Member

ankush commented Feb 3, 2022

ignoring unrelated failures, migrations tested locally. LGTM.

@ankush ankush merged commit 551f296 into frappe:develop Feb 3, 2022
@marination
Copy link
Collaborator Author

@Mergifyio backport version-14-pre-release

@mergify
Copy link
Contributor

mergify bot commented Feb 3, 2022

backport version-14-pre-release

❌ No backport have been created

  • Backport to branch version-14-pre-release failed: Branch not found

@marination
Copy link
Collaborator Author

@Mergifyio backport version-14-beta-pre-release

@mergify
Copy link
Contributor

mergify bot commented Feb 3, 2022

backport version-14-beta-pre-release

✅ Backports have been created

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 12, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dont squash Don't squash and merge dont-merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants