mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-09 08:02:51 +00:00
fix: Sider and Tests
This commit is contained in:
@@ -3,7 +3,8 @@
|
||||
# For license information, please see license.txt
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
from frappe.utils import cint
|
||||
from frappe import _, msgprint
|
||||
from frappe.model.document import Document
|
||||
from frappe.utils import cint
|
||||
from frappe.utils import get_datetime, get_datetime_str, now_datetime
|
||||
@@ -29,7 +30,8 @@ class ECommerceSettings(Document):
|
||||
frappe.clear_document_cache("E Commerce Settings", "E Commerce Settings")
|
||||
|
||||
def validate_field_filters(self):
|
||||
if not (self.enable_field_filters and self.filter_fields): return
|
||||
if not (self.enable_field_filters and self.filter_fields):
|
||||
return
|
||||
|
||||
item_meta = frappe.get_meta("Item")
|
||||
valid_fields = [df.fieldname for df in item_meta.fields if df.fieldtype in ["Link", "Table MultiSelect"]]
|
||||
@@ -39,7 +41,8 @@ class ECommerceSettings(Document):
|
||||
frappe.throw(_("Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type 'Link' or 'Table MultiSelect'").format(f.idx, f.fieldname))
|
||||
|
||||
def validate_attribute_filters(self):
|
||||
if not (self.enable_attribute_filters and self.filter_attributes): return
|
||||
if not (self.enable_attribute_filters and self.filter_attributes):
|
||||
return
|
||||
|
||||
# if attribute filters are enabled, hide_variants should be disabled
|
||||
self.hide_variants = 0
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
|
||||
from __future__ import unicode_literals
|
||||
from datetime import datetime
|
||||
from six import string_types
|
||||
import json
|
||||
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
from frappe.contacts.doctype.contact.contact import get_contact_name
|
||||
|
||||
@@ -48,6 +48,7 @@ class WebsiteItem(WebsiteGenerator):
|
||||
self.update_template_item()
|
||||
|
||||
def on_trash(self):
|
||||
super(WebsiteItem, self).on_trash()
|
||||
self.publish_unpublish_desk_item(publish=False)
|
||||
|
||||
def validate_duplicate_website_item(self):
|
||||
@@ -379,7 +380,8 @@ def invalidate_cache_for_web_item(doc):
|
||||
|
||||
@frappe.whitelist()
|
||||
def make_website_item(doc, save=True):
|
||||
if not doc: return
|
||||
if not doc:
|
||||
return
|
||||
|
||||
if isinstance(doc, string_types):
|
||||
doc = json.loads(doc)
|
||||
|
||||
@@ -14,7 +14,8 @@ class ProductFiltersBuilder:
|
||||
self.item_group = item_group
|
||||
|
||||
def get_field_filters(self):
|
||||
if not self.item_group and not self.doc.enable_field_filters: return
|
||||
if not self.item_group and not self.doc.enable_field_filters:
|
||||
return
|
||||
|
||||
filter_fields = [row.fieldname for row in self.doc.filter_fields]
|
||||
|
||||
@@ -48,7 +49,8 @@ class ProductFiltersBuilder:
|
||||
values = [d.name for d in frappe.get_all(doctype, filters)]
|
||||
|
||||
# Remove None
|
||||
if None in values: values.remove(None)
|
||||
if None in values:
|
||||
values.remove(None)
|
||||
|
||||
if values:
|
||||
filter_data.append([df, values])
|
||||
@@ -56,7 +58,8 @@ class ProductFiltersBuilder:
|
||||
return filter_data
|
||||
|
||||
def get_attribute_filters(self):
|
||||
if not self.item_group and not self.doc.enable_attribute_filters: return
|
||||
if not self.item_group and not self.doc.enable_attribute_filters:
|
||||
return
|
||||
|
||||
attributes = [row.attribute for row in self.doc.filter_attributes]
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@ def get_item_codes_by_attributes(attribute_filters, template_item_code=None):
|
||||
if not isinstance(attribute_values, list):
|
||||
attribute_values = [attribute_values]
|
||||
|
||||
if not attribute_values: continue
|
||||
if not attribute_values:
|
||||
continue
|
||||
|
||||
wheres = []
|
||||
query_values = []
|
||||
|
||||
@@ -39,8 +39,10 @@ class ProductQuery:
|
||||
Returns:
|
||||
list: List of results with set fields
|
||||
"""
|
||||
if fields: self.build_fields_filters(fields)
|
||||
if search_term: self.build_search_filters(search_term)
|
||||
if fields:
|
||||
self.build_fields_filters(fields)
|
||||
if search_term:
|
||||
self.build_search_filters(search_term)
|
||||
|
||||
if self.settings.hide_variants:
|
||||
self.conditions += " and wi.variant_of is null"
|
||||
@@ -117,7 +119,8 @@ class ProductQuery:
|
||||
self.conditions += " and iva.parent = wi.item_code"
|
||||
|
||||
for attribute, values in attributes.items():
|
||||
if not isinstance(values, list): values = [values]
|
||||
if not isinstance(values, list):
|
||||
values = [values]
|
||||
|
||||
conditions_copy = self.conditions
|
||||
substitutions_copy = self.substitutions.copy()
|
||||
|
||||
@@ -6,7 +6,8 @@ def execute():
|
||||
|
||||
for row in homepage.products:
|
||||
web_item = frappe.db.get_value("Website Item", {"item_code": row.item_code}, "name")
|
||||
if not web_item: continue
|
||||
if not web_item:
|
||||
continue
|
||||
|
||||
row.item_code = web_item
|
||||
|
||||
|
||||
@@ -380,7 +380,6 @@ class Item(Document):
|
||||
)
|
||||
|
||||
def on_trash(self):
|
||||
super(Item, self).on_trash()
|
||||
frappe.db.sql("""delete from tabBin where item_code=%s""", self.name)
|
||||
frappe.db.sql("delete from `tabItem Price` where item_code=%s", self.name)
|
||||
for variant_of in frappe.get_all("Item", filters={"variant_of": self.name}):
|
||||
|
||||
@@ -26,7 +26,6 @@ $(() => {
|
||||
{fieldname: "comment", fieldtype: "Small Text", label: "Your Review"}
|
||||
],
|
||||
primary_action: function() {
|
||||
let me = this;
|
||||
let data = d.get_values();
|
||||
frappe.call({
|
||||
method: "erpnext.e_commerce.doctype.item_review.item_review.add_item_review",
|
||||
@@ -85,7 +84,7 @@ $(() => {
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user