chore: Make image
field obsolete in Website Item (redundant)
- Delete Image field and set `website_image` as form's image field for uploads - Remove instances of `image` field access via Website Item - Item -> Web Item via Desk: Map Item's `image` to Web Item's `website_image` - Item -> Web Item via patch: `website_image` will be mapped with thumbnail - Remove magic that auto-sets `website_image` from `image` in Website Item
This commit is contained in:
parent
416d578290
commit
9541354ec7
@ -48,7 +48,7 @@
|
|||||||
"read_only": 1
|
"read_only": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fetch_from": "website_item.image",
|
"fetch_from": "website_item.website_image",
|
||||||
"fieldname": "website_item_image",
|
"fieldname": "website_item_image",
|
||||||
"fieldtype": "Attach",
|
"fieldtype": "Attach",
|
||||||
"label": "Website Item Image",
|
"label": "Website Item Image",
|
||||||
@ -75,7 +75,7 @@
|
|||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"istable": 1,
|
"istable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2021-07-13 21:02:19.031652",
|
"modified": "2022-06-28 16:44:24.718728",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "E-commerce",
|
"module": "E-commerce",
|
||||||
"name": "Recommended Items",
|
"name": "Recommended Items",
|
||||||
@ -83,5 +83,6 @@
|
|||||||
"permissions": [],
|
"permissions": [],
|
||||||
"sort_field": "modified",
|
"sort_field": "modified",
|
||||||
"sort_order": "DESC",
|
"sort_order": "DESC",
|
||||||
|
"states": [],
|
||||||
"track_changes": 1
|
"track_changes": 1
|
||||||
}
|
}
|
@ -30,10 +30,6 @@ frappe.ui.form.on('Website Item', {
|
|||||||
}, __("View"));
|
}, __("View"));
|
||||||
},
|
},
|
||||||
|
|
||||||
image: () => {
|
|
||||||
refresh_field("image_view");
|
|
||||||
},
|
|
||||||
|
|
||||||
copy_from_item_group: (frm) => {
|
copy_from_item_group: (frm) => {
|
||||||
return frm.call({
|
return frm.call({
|
||||||
doc: frm.doc,
|
doc: frm.doc,
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
"column_break_11",
|
"column_break_11",
|
||||||
"description",
|
"description",
|
||||||
"brand",
|
"brand",
|
||||||
"image",
|
|
||||||
"display_section",
|
"display_section",
|
||||||
"website_image",
|
"website_image",
|
||||||
"website_image_alt",
|
"website_image_alt",
|
||||||
@ -113,8 +112,11 @@
|
|||||||
{
|
{
|
||||||
"description": "Item Image (if not slideshow)",
|
"description": "Item Image (if not slideshow)",
|
||||||
"fieldname": "website_image",
|
"fieldname": "website_image",
|
||||||
"fieldtype": "Attach",
|
"fieldtype": "Attach Image",
|
||||||
"label": "Website Image"
|
"hidden": 1,
|
||||||
|
"in_preview": 1,
|
||||||
|
"label": "Website Image",
|
||||||
|
"print_hide": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "Image Alternative Text",
|
"description": "Image Alternative Text",
|
||||||
@ -188,14 +190,6 @@
|
|||||||
"options": "Item Group",
|
"options": "Item Group",
|
||||||
"read_only": 1
|
"read_only": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"fieldname": "image",
|
|
||||||
"fieldtype": "Attach Image",
|
|
||||||
"hidden": 1,
|
|
||||||
"in_preview": 1,
|
|
||||||
"label": "Image",
|
|
||||||
"print_hide": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"default": "1",
|
"default": "1",
|
||||||
"fieldname": "published",
|
"fieldname": "published",
|
||||||
@ -348,13 +342,14 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"has_web_view": 1,
|
"has_web_view": 1,
|
||||||
"image_field": "image",
|
"image_field": "website_image",
|
||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2021-09-02 13:08:41.942726",
|
"modified": "2022-06-28 17:10:30.613251",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "E-commerce",
|
"module": "E-commerce",
|
||||||
"name": "Website Item",
|
"name": "Website Item",
|
||||||
|
"naming_rule": "Expression (old style)",
|
||||||
"owner": "Administrator",
|
"owner": "Administrator",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
{
|
{
|
||||||
@ -410,6 +405,7 @@
|
|||||||
"show_name_in_global_search": 1,
|
"show_name_in_global_search": 1,
|
||||||
"sort_field": "modified",
|
"sort_field": "modified",
|
||||||
"sort_order": "DESC",
|
"sort_order": "DESC",
|
||||||
|
"states": [],
|
||||||
"title_field": "web_item_name",
|
"title_field": "web_item_name",
|
||||||
"track_changes": 1
|
"track_changes": 1
|
||||||
}
|
}
|
@ -114,11 +114,6 @@ class WebsiteItem(WebsiteGenerator):
|
|||||||
return
|
return
|
||||||
|
|
||||||
"""Validate if the website image is a public file"""
|
"""Validate if the website image is a public file"""
|
||||||
auto_set_website_image = False
|
|
||||||
if not self.website_image and self.image:
|
|
||||||
auto_set_website_image = True
|
|
||||||
self.website_image = self.image
|
|
||||||
|
|
||||||
if not self.website_image:
|
if not self.website_image:
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -135,18 +130,16 @@ class WebsiteItem(WebsiteGenerator):
|
|||||||
file_doc = file_doc[0]
|
file_doc = file_doc[0]
|
||||||
|
|
||||||
if not file_doc:
|
if not file_doc:
|
||||||
if not auto_set_website_image:
|
frappe.msgprint(
|
||||||
frappe.msgprint(
|
_("Website Image {0} attached to Item {1} cannot be found").format(
|
||||||
_("Website Image {0} attached to Item {1} cannot be found").format(
|
self.website_image, self.name
|
||||||
self.website_image, self.name
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
|
||||||
self.website_image = None
|
self.website_image = None
|
||||||
|
|
||||||
elif file_doc.is_private:
|
elif file_doc.is_private:
|
||||||
if not auto_set_website_image:
|
frappe.msgprint(_("Website Image should be a public file or website URL"))
|
||||||
frappe.msgprint(_("Website Image should be a public file or website URL"))
|
|
||||||
|
|
||||||
self.website_image = None
|
self.website_image = None
|
||||||
|
|
||||||
@ -157,9 +150,8 @@ class WebsiteItem(WebsiteGenerator):
|
|||||||
|
|
||||||
import requests.exceptions
|
import requests.exceptions
|
||||||
|
|
||||||
if not self.is_new() and self.website_image != frappe.db.get_value(
|
db_website_image = frappe.db.get_value(self.doctype, self.name, "website_image")
|
||||||
self.doctype, self.name, "website_image"
|
if not self.is_new() and self.website_image != db_website_image:
|
||||||
):
|
|
||||||
self.thumbnail = None
|
self.thumbnail = None
|
||||||
|
|
||||||
if self.website_image and not self.thumbnail:
|
if self.website_image and not self.thumbnail:
|
||||||
@ -451,7 +443,6 @@ def make_website_item(doc, save=True):
|
|||||||
"item_group",
|
"item_group",
|
||||||
"stock_uom",
|
"stock_uom",
|
||||||
"brand",
|
"brand",
|
||||||
"image",
|
|
||||||
"has_variants",
|
"has_variants",
|
||||||
"variant_of",
|
"variant_of",
|
||||||
"description",
|
"description",
|
||||||
@ -459,6 +450,9 @@ def make_website_item(doc, save=True):
|
|||||||
for field in fields_to_map:
|
for field in fields_to_map:
|
||||||
website_item.update({field: doc.get(field)})
|
website_item.update({field: doc.get(field)})
|
||||||
|
|
||||||
|
if doc.get("image") and not website_item.website_image:
|
||||||
|
website_item.website_image = doc.get("image")
|
||||||
|
|
||||||
if not save:
|
if not save:
|
||||||
return website_item
|
return website_item
|
||||||
|
|
||||||
|
@ -20,7 +20,15 @@ def add_to_wishlist(item_code):
|
|||||||
web_item_data = frappe.db.get_value(
|
web_item_data = frappe.db.get_value(
|
||||||
"Website Item",
|
"Website Item",
|
||||||
{"item_code": item_code},
|
{"item_code": item_code},
|
||||||
["image", "website_warehouse", "name", "web_item_name", "item_name", "item_group", "route"],
|
[
|
||||||
|
"website_image",
|
||||||
|
"website_warehouse",
|
||||||
|
"name",
|
||||||
|
"web_item_name",
|
||||||
|
"item_name",
|
||||||
|
"item_group",
|
||||||
|
"route",
|
||||||
|
],
|
||||||
as_dict=1,
|
as_dict=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -30,7 +38,7 @@ def add_to_wishlist(item_code):
|
|||||||
"item_group": web_item_data.get("item_group"),
|
"item_group": web_item_data.get("item_group"),
|
||||||
"website_item": web_item_data.get("name"),
|
"website_item": web_item_data.get("name"),
|
||||||
"web_item_name": web_item_data.get("web_item_name"),
|
"web_item_name": web_item_data.get("web_item_name"),
|
||||||
"image": web_item_data.get("image"),
|
"image": web_item_data.get("website_image"),
|
||||||
"warehouse": web_item_data.get("website_warehouse"),
|
"warehouse": web_item_data.get("website_warehouse"),
|
||||||
"route": web_item_data.get("route"),
|
"route": web_item_data.get("route"),
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ erpnext.ProductGrid = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get_image_html(item, title) {
|
get_image_html(item, title) {
|
||||||
let image = item.website_image || item.image;
|
let image = item.website_image;
|
||||||
|
|
||||||
if (image) {
|
if (image) {
|
||||||
return `
|
return `
|
||||||
|
@ -35,7 +35,7 @@ erpnext.ProductList = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get_image_html(item, title, settings) {
|
get_image_html(item, title, settings) {
|
||||||
let image = item.website_image || item.image;
|
let image = item.website_image;
|
||||||
let wishlist_enabled = !item.has_variants && settings.enable_wishlist;
|
let wishlist_enabled = !item.has_variants && settings.enable_wishlist;
|
||||||
let image_html = ``;
|
let image_html = ``;
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@ def execute():
|
|||||||
"item_group",
|
"item_group",
|
||||||
"stock_uom",
|
"stock_uom",
|
||||||
"brand",
|
"brand",
|
||||||
"image",
|
|
||||||
"has_variants",
|
"has_variants",
|
||||||
"variant_of",
|
"variant_of",
|
||||||
"description",
|
"description",
|
||||||
@ -30,6 +29,7 @@ def execute():
|
|||||||
"website_warehouse",
|
"website_warehouse",
|
||||||
"web_long_description",
|
"web_long_description",
|
||||||
"website_content",
|
"website_content",
|
||||||
|
"website_image",
|
||||||
"thumbnail",
|
"thumbnail",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ class Homepage(Document):
|
|||||||
def setup_items(self):
|
def setup_items(self):
|
||||||
for d in frappe.get_all(
|
for d in frappe.get_all(
|
||||||
"Website Item",
|
"Website Item",
|
||||||
fields=["name", "item_name", "description", "image", "route"],
|
fields=["name", "item_name", "description", "website_image", "route"],
|
||||||
filters={"published": 1},
|
filters={"published": 1},
|
||||||
limit=3,
|
limit=3,
|
||||||
):
|
):
|
||||||
@ -31,7 +31,7 @@ class Homepage(Document):
|
|||||||
item_code=d.name,
|
item_code=d.name,
|
||||||
item_name=d.item_name,
|
item_name=d.item_name,
|
||||||
description=d.description,
|
description=d.description,
|
||||||
image=d.image,
|
image=d.website_image,
|
||||||
route=d.route,
|
route=d.route,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ product_image(doc.website_image or doc.image, alt=doc.website_image_alt or doc.item_name) }}
|
{{ product_image(doc.website_image, alt=doc.website_image_alt or doc.item_name) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Simple image preview -->
|
<!-- Simple image preview -->
|
||||||
|
@ -74,7 +74,7 @@
|
|||||||
{%- set col_size = 3 if is_full_width else 4 -%}
|
{%- set col_size = 3 if is_full_width else 4 -%}
|
||||||
{%- set title = item.web_item_name or item.item_name or item.item_code -%}
|
{%- set title = item.web_item_name or item.item_name or item.item_code -%}
|
||||||
{%- set title = title[:50] + "..." if title|len > 50 else title -%}
|
{%- set title = title[:50] + "..." if title|len > 50 else title -%}
|
||||||
{%- set image = item.website_image or item.image -%}
|
{%- set image = item.website_image -%}
|
||||||
{%- set description = item.website_description or item.description-%}
|
{%- set description = item.website_description or item.description-%}
|
||||||
|
|
||||||
{% if is_featured %}
|
{% if is_featured %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user