diff --git a/addons/pos_self_order/__manifest__.py b/addons/pos_self_order/__manifest__.py index cc8e15b9666..a729cb20285 100644 --- a/addons/pos_self_order/__manifest__.py +++ b/addons/pos_self_order/__manifest__.py @@ -63,6 +63,8 @@ 'web/static/lib/bootstrap/js/dist/scrollspy.js', "pos_self_order/static/src/app/**/*", "point_of_sale/static/src/app/store/models/product_custom_attribute.js", + 'web_editor/static/src/js/editor/odoo-editor/src/base_style.scss', + 'web_editor/static/src/scss/web_editor.common.scss', ], # Assets tests "pos_self_order.assets_tests": [ diff --git a/addons/pos_self_order/models/product_product.py b/addons/pos_self_order/models/product_product.py index 8e7284127cd..1525ec95c6e 100644 --- a/addons/pos_self_order/models/product_product.py +++ b/addons/pos_self_order/models/product_product.py @@ -15,6 +15,9 @@ class ProductTemplate(models.Model): help="If this product is available in the Self Order screens", default=True, ) + description_self_order = fields.Html( + string="Product Description for Self Order", + ) @api.onchange('available_in_pos') def _on_change_available_in_pos(self): @@ -141,7 +144,7 @@ class ProductProduct(models.Model): "attributes": self._get_attributes(pos_config), "name": self._get_name(), "id": self.id, - "description_sale": self.description_sale, + "description_self_order": self.description_self_order, "pos_categ_ids": self.pos_categ_ids.mapped("name") or ["Other"], "pos_combo_ids": self.combo_ids.mapped("id") or False, "is_pos_groupable": self.uom_id.is_pos_groupable, diff --git a/addons/pos_self_order/static/src/app/components/product_card/product_card.js b/addons/pos_self_order/static/src/app/components/product_card/product_card.js index ace0c2ff5d0..11dba3acbd6 100644 --- a/addons/pos_self_order/static/src/app/components/product_card/product_card.js +++ b/addons/pos_self_order/static/src/app/components/product_card/product_card.js @@ -4,6 +4,7 @@ import { Component, useRef } from "@odoo/owl"; import { useSelfOrder } from "@pos_self_order/app/self_order_service"; import { useService, useForwardRefToParent } from "@web/core/utils/hooks"; import { Line } from "@pos_self_order/app/models/line"; +import { ProductInfoPopup } from "@pos_self_order/app/components/product_info_popup/product_info_popup"; export class ProductCard extends Component { static template = "pos_self_order.ProductCard"; @@ -15,6 +16,7 @@ export class ProductCard extends Component { setup() { this.selfOrder = useSelfOrder(); this.router = useService("router"); + this.dialog = useService("dialog"); useForwardRefToParent("currentProductCard"); } @@ -112,4 +114,14 @@ export class ProductCard extends Component { await this.selfOrder.getPricesFromServer(); } } + + showProductInfo() { + this.dialog.add(ProductInfoPopup, { + product: this.props.product, + title: this.props.product.name, + addToCart: () => { + this.selectProduct(); + }, + }); + } } diff --git a/addons/pos_self_order/static/src/app/components/product_card/product_card.scss b/addons/pos_self_order/static/src/app/components/product_card/product_card.scss index 86f49abf001..f553f5c86cf 100644 --- a/addons/pos_self_order/static/src/app/components/product_card/product_card.scss +++ b/addons/pos_self_order/static/src/app/components/product_card/product_card.scss @@ -1,4 +1,28 @@ +.self_order_product_card { + position: relative +} + .scale-up { transform: scale(1.2); transition: transform .75s ease-in-out; } + +.product-information-tag { + width: 0; + height: 0; + border-style: solid; + border-width: 0 34px 34px 0; + border-color: transparent #9a9ea180 transparent transparent; + position: absolute; + top: 0; + right: 17px; + color: white; + text-align: center; + z-index: 1; +} + +.product-information-tag-logo { + position: absolute; + left: 22px; + top: 4px; +} diff --git a/addons/pos_self_order/static/src/app/components/product_card/product_card.xml b/addons/pos_self_order/static/src/app/components/product_card/product_card.xml index 4035eec2523..a44d66a788a 100644 --- a/addons/pos_self_order/static/src/app/components/product_card/product_card.xml +++ b/addons/pos_self_order/static/src/app/components/product_card/product_card.xml @@ -6,6 +6,9 @@ t-att-title="props.product.name" t-on-click="selectProduct" t-ref="selfProductCard"> +
+