Skip to content

Commit

Permalink
rebranding: Webshop
Browse files Browse the repository at this point in the history
Signed-off-by: Sabu Siyad <hello@ssiyad.com>
  • Loading branch information
ssiyad committed Nov 9, 2022
1 parent 585b744 commit 97c8cde
Show file tree
Hide file tree
Showing 39 changed files with 142 additions and 140 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
*.egg-info
*.swp
tags
node_modules
node_modules
**/__pycache__
.vscode/
6 changes: 3 additions & 3 deletions webshop/webshop/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
import frappe
from frappe.utils import cint

from erpnext.e_commerce.product_data_engine.filters import ProductFiltersBuilder
from erpnext.e_commerce.product_data_engine.query import ProductQuery
from webshop.webshop.product_data_engine.filters import ProductFiltersBuilder
from webshop.webshop.product_data_engine.query import ProductQuery
from erpnext.setup.doctype.item_group.item_group import get_child_groups_for_website


Expand Down Expand Up @@ -78,4 +78,4 @@ def get_product_filter_data(query_args=None):

@frappe.whitelist(allow_guest=True)
def get_guest_redirect_on_action():
return frappe.db.get_single_value("E Commerce Settings", "redirect_on_action")
return frappe.db.get_single_value("Webshop Settings", "redirect_on_action")
2 changes: 1 addition & 1 deletion webshop/webshop/doctype/item_review/item_review.json
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
"links": [],
"modified": "2021-08-10 12:08:58.119691",
"modified_by": "Administrator",
"module": "E-commerce",
"module": "Webshop",
"name": "Item Review",
"owner": "Administrator",
"permissions": [
Expand Down
2 changes: 1 addition & 1 deletion webshop/webshop/doctype/item_review/item_review.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from frappe.model.document import Document
from frappe.utils import cint, flt

from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
from webshop.webshop.doctype.webshop_settings.webshop_settings import (
get_shopping_cart_settings,
)

Expand Down
14 changes: 7 additions & 7 deletions webshop/webshop/doctype/item_review/test_item_review.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@
import frappe
from frappe.core.doctype.user_permission.test_user_permission import create_user

from erpnext.e_commerce.doctype.e_commerce_settings.test_e_commerce_settings import (
setup_e_commerce_settings,
from webshop.webshop.doctype.webshop_settings.test_webshop_settings import (
setup_webshop_settings,
)
from erpnext.e_commerce.doctype.item_review.item_review import (
from webshop.webshop.doctype.item_review.item_review import (
UnverifiedReviewer,
add_item_review,
get_item_reviews,
)
from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
from erpnext.e_commerce.shopping_cart.cart import get_party
from webshop.webshop.doctype.website_item.website_item import make_website_item
from webshop.webshop.shopping_cart.cart import get_party
from erpnext.stock.doctype.item.test_item import make_item


Expand All @@ -25,12 +25,12 @@ def setUp(self):
if not frappe.db.exists("Website Item", {"item_code": "Test Mobile Phone"}):
make_website_item(item, save=True)

setup_e_commerce_settings({"enable_reviews": 1})
setup_webshop_settings({"enable_reviews": 1})
frappe.local.shopping_cart_settings = None

def tearDown(self):
frappe.get_cached_doc("Website Item", {"item_code": "Test Mobile Phone"}).delete()
setup_e_commerce_settings({"enable_reviews": 0})
setup_webshop_settings({"enable_reviews": 0})

def test_add_and_get_item_reviews_from_customer(self):
"Add / Get Reviews from a User that is a valid customer (has added to cart or purchased in the past)"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@
"links": [],
"modified": "2022-06-28 16:44:24.718728",
"modified_by": "Administrator",
"module": "E-commerce",
"module": "Webshop",
"name": "Recommended Items",
"owner": "Administrator",
"permissions": [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,48 +4,48 @@

import frappe

from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
from webshop.webshop.doctype.webshop_settings.webshop_settings import (
ShoppingCartSetupError,
)


class TestECommerceSettings(unittest.TestCase):
class TestWebshopSettings(unittest.TestCase):
def tearDown(self):
frappe.db.rollback()

def test_tax_rule_validation(self):
frappe.db.sql("update `tabTax Rule` set use_for_shopping_cart = 0")
frappe.db.commit() # nosemgrep

cart_settings = frappe.get_doc("E Commerce Settings")
cart_settings = frappe.get_doc("Webshop Settings")
cart_settings.enabled = 1
if not frappe.db.get_value("Tax Rule", {"use_for_shopping_cart": 1}, "name"):
self.assertRaises(ShoppingCartSetupError, cart_settings.validate_tax_rule)

frappe.db.sql("update `tabTax Rule` set use_for_shopping_cart = 1")

def test_invalid_filter_fields(self):
"Check if Item fields are blocked in E Commerce Settings filter fields."
"Check if Item fields are blocked in Webshop Settings filter fields."
from frappe.custom.doctype.custom_field.custom_field import create_custom_field

setup_e_commerce_settings({"enable_field_filters": 1})
setup_webshop_settings({"enable_field_filters": 1})

create_custom_field(
"Item",
dict(owner="Administrator", fieldname="test_data", label="Test", fieldtype="Data"),
)
settings = frappe.get_doc("E Commerce Settings")
settings = frappe.get_doc("Webshop Settings")
settings.append("filter_fields", {"fieldname": "test_data"})

self.assertRaises(frappe.ValidationError, settings.save)


def setup_e_commerce_settings(values_dict):
"Accepts a dict of values that updates E Commerce Settings."
def setup_webshop_settings(values_dict):
"Accepts a dict of values that updates Webshop Settings."
if not values_dict:
return

doc = frappe.get_doc("E Commerce Settings", "E Commerce Settings")
doc = frappe.get_doc("Webshop Settings", "Webshop Settings")
doc.update(values_dict)
doc.save()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt

frappe.ui.form.on("E Commerce Settings", {
frappe.ui.form.on("Webshop Settings", {
onload: function(frm) {
if(frm.doc.__onload && frm.doc.__onload.quotation_series) {
frm.fields_dict.quotation_series.df.options = frm.doc.__onload.quotation_series;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -373,8 +373,8 @@
"links": [],
"modified": "2022-04-01 18:35:56.106756",
"modified_by": "Administrator",
"module": "E-commerce",
"name": "E Commerce Settings",
"module": "Webshop",
"name": "Webshop Settings",
"owner": "Administrator",
"permissions": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from frappe.model.document import Document
from frappe.utils import comma_and, flt, unique

from erpnext.e_commerce.redisearch_utils import (
from webshop.webshop.redisearch_utils import (
create_website_items_index,
define_autocomplete_dictionary,
get_indexable_web_fields,
Expand All @@ -19,7 +19,7 @@ class ShoppingCartSetupError(frappe.ValidationError):
pass


class ECommerceSettings(Document):
class WebshopSettings(Document):
def onload(self):
self.get("__onload").quotation_series = frappe.get_meta("Quotation").get_options("naming_series")

Expand All @@ -35,10 +35,10 @@ def validate(self):
if self.enabled:
self.validate_price_list_exchange_rate()

frappe.clear_document_cache("E Commerce Settings", "E Commerce Settings")
frappe.clear_document_cache("Webshop Settings", "Webshop Settings")

self.is_redisearch_enabled_pre_save = frappe.db.get_single_value(
"E Commerce Settings", "is_redisearch_enabled"
"Webshop Settings", "is_redisearch_enabled"
)

def after_save(self):
Expand Down Expand Up @@ -160,11 +160,11 @@ def on_change(self):


def validate_cart_settings(doc=None, method=None):
frappe.get_doc("E Commerce Settings", "E Commerce Settings").run_method("validate")
frappe.get_doc("Webshop Settings", "Webshop Settings").run_method("validate")


def get_shopping_cart_settings():
return frappe.get_cached_doc("E Commerce Settings")
return frappe.get_cached_doc("Webshop Settings")


@frappe.whitelist(allow_guest=True)
Expand Down
58 changes: 29 additions & 29 deletions webshop/webshop/doctype/website_item/test_website_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
import frappe

from erpnext.controllers.item_variant import create_variant
from erpnext.e_commerce.doctype.e_commerce_settings.e_commerce_settings import (
from webshop.webshop.doctype.webshop_settings.webshop_settings import (
get_shopping_cart_settings,
)
from erpnext.e_commerce.doctype.e_commerce_settings.test_e_commerce_settings import (
setup_e_commerce_settings,
from webshop.webshop.doctype.webshop_settings.test_webshop_settings import (
setup_webshop_settings,
)
from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
from erpnext.e_commerce.shopping_cart.product_info import get_product_info_for_website
from webshop.webshop.doctype.website_item.website_item import make_website_item
from webshop.webshop.shopping_cart.product_info import get_product_info_for_website
from erpnext.stock.doctype.item.item import DataValidationError
from erpnext.stock.doctype.item.test_item import make_item

Expand All @@ -28,7 +28,7 @@
class TestWebsiteItem(unittest.TestCase):
@classmethod
def setUpClass(cls):
setup_e_commerce_settings(
setup_webshop_settings(
{
"company": "_Test Company",
"enabled": 1,
Expand Down Expand Up @@ -77,7 +77,7 @@ def setUp(self):

def test_index_creation(self):
"Check if index is getting created in db."
from erpnext.e_commerce.doctype.website_item.website_item import on_doctype_update
from webshop.webshop.doctype.website_item.website_item import on_doctype_update

on_doctype_update()

Expand Down Expand Up @@ -209,8 +209,8 @@ def test_website_item_price_for_logged_in_user(self):
"Check if price details are fetched correctly while logged in."
item_code = "Test Mobile Phone"

# show price in e commerce settings
setup_e_commerce_settings({"show_price": 1})
# show price in webshop settings
setup_webshop_settings({"show_price": 1})

# price and pricing rule added via setUp

Expand All @@ -231,7 +231,7 @@ def test_website_item_price_for_logged_in_user(self):

# switch to admin and disable show price
frappe.set_user("Administrator")
setup_e_commerce_settings({"show_price": 0})
setup_webshop_settings({"show_price": 0})

# price should not be fetched for logged in user.
frappe.set_user("test_contact_customer@example.com")
Expand All @@ -246,8 +246,8 @@ def test_website_item_price_for_guest_user(self):
"Check if price details are fetched correctly for guest user."
item_code = "Test Mobile Phone"

# show price for guest user in e commerce settings
setup_e_commerce_settings({"show_price": 1, "hide_price_for_guest": 0})
# show price for guest user in webshop settings
setup_webshop_settings({"show_price": 1, "hide_price_for_guest": 0})

# price and pricing rule added via setUp

Expand All @@ -265,7 +265,7 @@ def test_website_item_price_for_guest_user(self):

# hide price for guest user
frappe.set_user("Administrator")
setup_e_commerce_settings({"hide_price_for_guest": 1})
setup_webshop_settings({"hide_price_for_guest": 1})
frappe.set_user("Guest")

# price should not be fetched
Expand All @@ -286,7 +286,7 @@ def test_website_item_stock_when_out_of_stock(self):
"""
item_code = "Test Mobile Phone"
create_regular_web_item()
setup_e_commerce_settings({"show_stock_availability": 1})
setup_webshop_settings({"show_stock_availability": 1})

frappe.local.shopping_cart_settings = None
data = get_product_info_for_website(item_code, skip_quotation_creation=True)
Expand All @@ -306,7 +306,7 @@ def test_website_item_stock_when_out_of_stock(self):
self.assertEqual(data.product_info["stock_qty"][0][0], 0)

# disable show stock availability
setup_e_commerce_settings({"show_stock_availability": 0})
setup_webshop_settings({"show_stock_availability": 0})
frappe.local.shopping_cart_settings = None
data = get_product_info_for_website(item_code, skip_quotation_creation=True)

Expand All @@ -330,7 +330,7 @@ def test_website_item_stock_when_in_stock(self):

item_code = "Test Mobile Phone"
create_regular_web_item()
setup_e_commerce_settings({"show_stock_availability": 1})
setup_webshop_settings({"show_stock_availability": 1})
frappe.local.shopping_cart_settings = None

# set warehouse
Expand Down Expand Up @@ -358,7 +358,7 @@ def test_website_item_stock_when_in_stock(self):
self.assertFalse(bool(data.product_info["stock_qty"]))

# disable show stock availability
setup_e_commerce_settings({"show_stock_availability": 0})
setup_webshop_settings({"show_stock_availability": 0})
frappe.local.shopping_cart_settings = None
data = get_product_info_for_website(item_code, skip_quotation_creation=True)

Expand All @@ -376,7 +376,7 @@ def test_recommended_item(self):
item_code = "Test Mobile Phone"
web_item = create_regular_web_item(item_code)

setup_e_commerce_settings({"enable_recommendations": 1, "show_price": 1})
setup_webshop_settings({"enable_recommendations": 1, "show_price": 1})

# create recommended web item and price for it
recommended_web_item = create_regular_web_item("Test Mobile Phone 1")
Expand All @@ -387,8 +387,8 @@ def test_recommended_item(self):
web_item.save()

frappe.local.shopping_cart_settings = None
e_commerce_settings = get_shopping_cart_settings()
recommended_items = web_item.get_recommended_items(e_commerce_settings)
webshop_settings = get_shopping_cart_settings()
recommended_items = web_item.get_recommended_items(webshop_settings)

# test results if show price is enabled
self.assertEqual(len(recommended_items), 1)
Expand All @@ -401,11 +401,11 @@ def test_recommended_item(self):
self.assertEqual(price_info.get("formatted_price"), "₹ 1,000.00")

# test results if show price is disabled
setup_e_commerce_settings({"show_price": 0})
setup_webshop_settings({"show_price": 0})

frappe.local.shopping_cart_settings = None
e_commerce_settings = get_shopping_cart_settings()
recommended_items = web_item.get_recommended_items(e_commerce_settings)
webshop_settings = get_shopping_cart_settings()
recommended_items = web_item.get_recommended_items(webshop_settings)

self.assertEqual(len(recommended_items), 1)
self.assertFalse(bool(recommended_items[0].get("price_info"))) # price not fetched
Expand All @@ -421,7 +421,7 @@ def test_recommended_item_for_guest_user(self):
web_item = create_regular_web_item(item_code)

# price visible to guests
setup_e_commerce_settings(
setup_webshop_settings(
{"enable_recommendations": 1, "show_price": 1, "hide_price_for_guest": 0}
)

Expand All @@ -436,21 +436,21 @@ def test_recommended_item_for_guest_user(self):
frappe.set_user("Guest")

frappe.local.shopping_cart_settings = None
e_commerce_settings = get_shopping_cart_settings()
recommended_items = web_item.get_recommended_items(e_commerce_settings)
webshop_settings = get_shopping_cart_settings()
recommended_items = web_item.get_recommended_items(webshop_settings)

# test results if show price is enabled
self.assertEqual(len(recommended_items), 1)
self.assertTrue(bool(recommended_items[0].get("price_info"))) # price fetched

# price hidden from guests
frappe.set_user("Administrator")
setup_e_commerce_settings({"hide_price_for_guest": 1})
setup_webshop_settings({"hide_price_for_guest": 1})
frappe.set_user("Guest")

frappe.local.shopping_cart_settings = None
e_commerce_settings = get_shopping_cart_settings()
recommended_items = web_item.get_recommended_items(e_commerce_settings)
webshop_settings = get_shopping_cart_settings()
recommended_items = web_item.get_recommended_items(webshop_settings)

# test results if show price is enabled
self.assertEqual(len(recommended_items), 1)
Expand Down
Loading

0 comments on commit 97c8cde

Please sign in to comment.