refactor!: drop ecommerce in favor of webshop (#33265)
* refactor!: remove ecommerce item group field check
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: remove `e_commerce` directory
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: remove `get_context` from `item_group`
https://frappeframework.com/docs/v14/user/en/guides/portal-development/context
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: remove related `./templates`
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(navbar): remove wishlist (ecommerce)
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(js): remove js from scripts
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: remove `www/all-products`
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: remove pages and js
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: remove js/customer_reviews
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(portal utils): remove shopping cart debtor account
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: remove e_commerce events from hooks
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(web): remove e_commerce js from bundle
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(setup): remove shopping cart setup
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: remove pages
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor(item): remove website item button
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(payment request): remove `on_payment_authorized`
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: @staticmethod `get_gateway_details`
to avoid monkey patching, in custom apps
https://discuss.erpnext.com/t/how-to-override-method-in-frappe/28786/36
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(pages): remove product page
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(homepage): do not setup website items
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor(workspace): remove link to ecommerce settings
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(www): remove shop-by-category
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(homepage): remove featured product
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor: remove products in homepage
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor(homepage): remove explore button
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor: remove products fields from homepage
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* Revert "refactor!: @staticmethod `get_gateway_details`"
This reverts commit 561bcd96680a930bb92627869502d9346b10611b.
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: remove payment gateway e_commerce import
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* chore: pre-commit
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!: pass `party` into `get_price`
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor: move `get_item_codes_by_attributes` to `utilities/product`
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* refactor!(quotation): input customer group
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
* chore: pre-commit
* refactor: remove custom `navbar_items.html`
* refactor!(item): remove `published_in_website`
* refactor: move `validate_duplicate_website_item` before rename
* test: remove `test_shopping_cart_without_website_item`
* chore: add doctype drop patch
* refactor: removed website item related code
* refactor: removed shopping_cart code
* refactor: removed e-commerce related patches
* refactor: removed website related fields from item group
* fix: patch create_asset_depreciation_schedules_from_assets, KeyError: '0K BU64 AUY'
---------
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
diff --git a/erpnext/controllers/item_variant.py b/erpnext/controllers/item_variant.py
index e68ee90..c8785a5 100644
--- a/erpnext/controllers/item_variant.py
+++ b/erpnext/controllers/item_variant.py
@@ -9,6 +9,8 @@
from frappe import _
from frappe.utils import cstr, flt
+from erpnext.utilities.product import get_item_codes_by_attributes
+
class ItemVariantExistsError(frappe.ValidationError):
pass
@@ -24,7 +26,8 @@
@frappe.whitelist()
def get_variant(template, args=None, variant=None, manufacturer=None, manufacturer_part_no=None):
- """Validates Attributes and their Values, then looks for an exactly
+ """
+ Validates Attributes and their Values, then looks for an exactly
matching Item Variant
:param item: Template Item
@@ -34,13 +37,14 @@
if item_template.variant_based_on == "Manufacturer" and manufacturer:
return make_variant_based_on_manufacturer(item_template, manufacturer, manufacturer_part_no)
- else:
- if isinstance(args, str):
- args = json.loads(args)
- if not args:
- frappe.throw(_("Please specify at least one attribute in the Attributes table"))
- return find_variant(template, args, variant)
+ if isinstance(args, str):
+ args = json.loads(args)
+
+ if not args:
+ frappe.throw(_("Please specify at least one attribute in the Attributes table"))
+
+ return find_variant(template, args, variant)
def make_variant_based_on_manufacturer(template, manufacturer, manufacturer_part_no):
@@ -157,17 +161,6 @@
def find_variant(template, args, variant_item_code=None):
- conditions = [
- """(iv_attribute.attribute={0} and iv_attribute.attribute_value={1})""".format(
- frappe.db.escape(key), frappe.db.escape(cstr(value))
- )
- for key, value in args.items()
- ]
-
- conditions = " or ".join(conditions)
-
- from erpnext.e_commerce.variant_selector.utils import get_item_codes_by_attributes
-
possible_variants = [
i for i in get_item_codes_by_attributes(args, template) if i != variant_item_code
]