2286	16	1652	1	1	delivery_submit_button	\N	delivery.delivery_submit_button	qweb	delivery/views/payment_form_templates.xml	extension	{"en_US": "<data inherit_id=\\"payment.submit_button\\">\\n        <button name=\\"o_payment_submit_button\\" position=\\"attributes\\">\\n            <attribute name=\\"adapt-label-for-cod\\">True</attribute>\\n        </button>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="payment.submit_button">\n        <button name="o_payment_submit_button" position="attributes">\n            <attribute name="adapt-label-for-cod">True</attribute>\n        </button>\n    </data>\n\n	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2283	16	\N	1	1	delivery.carrier.form	delivery.carrier	\N	form	delivery/views/delivery_carrier_views.xml	primary	{"en_US": "<form string=\\"Carrier\\">\\n                <sheet>\\n                    <div class=\\"oe_button_box\\" name=\\"button_box\\">\\n                        <button name=\\"toggle_prod_environment\\" invisible=\\"not prod_environment or delivery_type == 'fixed' or delivery_type == 'base_on_rule'\\" class=\\"oe_stat_button\\" type=\\"object\\" icon=\\"fa-play\\">\\n                            <div class=\\"o_stat_info o_field_widget\\">\\n                                <span class=\\"text-success\\">Production</span>\\n                                <span class=\\"o_stat_text\\">Environment</span>\\n                            </div>\\n                        </button>\\n                        <!-- transfer referenced here due to view inheritance issue in current master (post-saas-16) -->\\n                        <button name=\\"toggle_prod_environment\\" invisible=\\"prod_environment or delivery_type == 'fixed' or delivery_type == 'base_on_rule'\\" class=\\"oe_stat_button\\" type=\\"object\\" icon=\\"fa-stop\\">\\n                            <div class=\\"o_stat_info o_field_widget\\">\\n                                <span class=\\"o_stat_text o_warning_text fw-bold\\">Test</span>\\n                                <span class=\\"o_stat_text\\">Environment</span>\\n                            </div>\\n                        </button>\\n                        <button name=\\"toggle_debug\\" invisible=\\"delivery_type == 'fixed' or delivery_type == 'base_on_rule' or debug_logging\\" class=\\"oe_stat_button\\" type=\\"object\\" icon=\\"fa-code\\">\\n                            <div class=\\"o_stat_info o_field_widget\\">\\n                                <span class=\\"o_stat_text text-danger\\">No debug</span>\\n                            </div>\\n                        </button>\\n                        <button name=\\"toggle_debug\\" invisible=\\"delivery_type == 'fixed' or delivery_type == 'base_on_rule' or not debug_logging\\" class=\\"oe_stat_button\\" type=\\"object\\" icon=\\"fa-code\\">\\n                            <div class=\\"o_stat_info o_field_widget\\">\\n                                <span class=\\"text-success\\">Debug requests</span>\\n                            </div>\\n                        </button>\\n                    </div>\\n                    <widget name=\\"web_ribbon\\" title=\\"Archived\\" bg_color=\\"text-bg-danger\\" invisible=\\"active\\"/>\\n                    <div class=\\"oe_title\\" name=\\"title\\">\\n                        <label for=\\"name\\" string=\\"Delivery Method\\"/>\\n                        <h1>\\n                            <field name=\\"name\\" placeholder=\\"e.g. UPS Express\\"/>\\n                        </h1>\\n                    </div>\\n                    <group>\\n                        <group name=\\"provider_details\\">\\n                            <field name=\\"active\\" invisible=\\"1\\"/>\\n                            <field name=\\"company_id\\" invisible=\\"1\\"/>\\n                            <field name=\\"prod_environment\\" invisible=\\"1\\"/>\\n                            <field name=\\"debug_logging\\" invisible=\\"1\\"/>\\n                            <label for=\\"delivery_type\\"/>\\n                            <div>\\n                                <field name=\\"delivery_type\\"/>\\n                                <button string=\\"Install more Providers\\" name=\\"install_more_provider\\" type=\\"object\\" class=\\"oe_link oe_edit_only\\"/>\\n                            </div>\\n                            <field name=\\"allow_cash_on_delivery\\"/>\\n                            <field name=\\"integration_level\\" widget=\\"radio\\" invisible=\\"delivery_type == 'fixed' or delivery_type == 'base_on_rule'\\"/>\\n                            <field name=\\"company_id\\" groups=\\"base.group_multi_company\\" placeholder=\\"Visible to all\\"/>\\n                        </group>\\n                        <group name=\\"delivery_details\\">\\n                            <field name=\\"currency_id\\" invisible=\\"1\\"/>\\n                            <field name=\\"fixed_price\\" widget=\\"monetary\\" class=\\"oe_inline\\" invisible=\\"delivery_type != 'fixed'\\"/>\\n                            <field name=\\"margin\\" string=\\"Margin on Rate\\" widget=\\"percentage\\" class=\\"oe_inline\\" invisible=\\"delivery_type == 'fixed'\\"/>\\n                            <field name=\\"fixed_margin\\" string=\\"Additional margin\\" widget=\\"monetary\\" invisible=\\"delivery_type == 'fixed'\\"/>\\n                            <label for=\\"free_over\\" invisible=\\"delivery_type == 'base_on_rule'\\"/>\\n                            <div name=\\"free_over_amount\\" invisible=\\"delivery_type == 'base_on_rule'\\">\\n                                <field name=\\"free_over\\"/>\\n                                <field name=\\"amount\\" widget=\\"monetary\\" class=\\"oe_inline\\" invisible=\\"not free_over\\" required=\\"free_over\\"/>\\n                            </div>\\n                            <field name=\\"product_id\\" context=\\"{                                 'default_type': 'service',                                 'default_sale_ok': False,                                 'default_purchase_ok': False,                                 'default_invoice_policy': 'order',                             }\\"/>\\n                            <field name=\\"tracking_url\\" placeholder=\\"i.e. https://ekartlogistics.com/shipmenttrack/&lt;shipmenttrackingnumber&gt;\\" invisible=\\"delivery_type not in ('fixed', 'base_on_rule')\\"/>\\n                            <field name=\\"invoice_policy\\" widget=\\"radio\\" invisible=\\"delivery_type in ('fixed', 'base_on_rule') or integration_level == 'rate'\\"/>\\n                            <field name=\\"supports_shipping_insurance\\" invisible=\\"1\\"/>\\n                            <label for=\\"shipping_insurance\\" String=\\"Shipping Insurance\\" invisible=\\"not supports_shipping_insurance\\"/>\\n                            <div invisible=\\"not supports_shipping_insurance\\">\\n                                <field name=\\"shipping_insurance\\" class=\\"oe_inline\\"/>%\\n                            </div>\\n                        </group>\\n                    </group>\\n                    <notebook>\\n                        <page name=\\"pricing\\" string=\\"Pricing\\" invisible=\\"delivery_type != 'base_on_rule'\\">\\n                            <group name=\\"general\\">\\n                                <field name=\\"price_rule_ids\\" nolabel=\\"1\\"/>\\n                            </group>\\n                        </page>\\n                        <page string=\\"Availability\\" name=\\"destination\\">\\n                            <group col=\\"1\\">\\n                                <p>\\n                                    Filling this form allows you to make the shipping method available according to the content of the order or its destination.\\n                                </p>\\n                                <group>\\n                                    <group name=\\"country_details\\" string=\\"Destination\\">\\n                                        <field name=\\"country_ids\\" widget=\\"many2many_tags\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                                        <field name=\\"state_ids\\" widget=\\"many2many_tags\\" domain=\\"[('country_id', 'in', country_ids)]\\" readonly=\\"not country_ids\\" force_save=\\"1\\" options=\\"{'no_create': True}\\"/>\\n                                        <field name=\\"zip_prefix_ids\\" widget=\\"many2many_tags\\" readonly=\\"not country_ids\\" force_save=\\"1\\" options=\\"{'no_create_edit': True}\\"/>\\n                                    </group>\\n                                    <group name=\\"content\\" string=\\"Content\\">\\n                                        <label for=\\"max_weight\\"/>\\n                                        <div class=\\"o_row\\">\\n                                            <field name=\\"max_weight\\" class=\\"oe_inline\\"/>\\n                                            <field name=\\"weight_uom_name\\"/>\\n                                        </div>\\n                                        <label for=\\"max_volume\\"/>\\n                                        <div class=\\"o_row\\">\\n                                            <field name=\\"max_volume\\" class=\\"oe_inline\\"/>\\n                                            <field name=\\"volume_uom_name\\"/>\\n                                        </div>\\n                                        <field name=\\"must_have_tag_ids\\" widget=\\"many2many_tags\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                                        <field name=\\"excluded_tag_ids\\" widget=\\"many2many_tags\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                                    </group>\\n                                </group>\\n                                <p class=\\"fst-italic\\" invisible=\\"country_ids\\">\\n                                    Please select a country before choosing a state or a zip prefix.\\n                                </p>\\n                            </group>\\n                        </page>\\n                        <page string=\\"Description\\" name=\\"description\\">\\n                            <field name=\\"carrier_description\\" placeholder=\\"Shipping method details to be included at bottom sales orders and their confirmation emails. E.g. Instructions for customers to follow.\\"/>\\n                        </page>\\n                    </notebook>\\n                </sheet>\\n            </form>", "fr_FR": "<form string=\\"Transporteur\\">\\n                <sheet>\\n                    <div class=\\"oe_button_box\\" name=\\"button_box\\">\\n                        <button name=\\"toggle_prod_environment\\" invisible=\\"not prod_environment or delivery_type == 'fixed' or delivery_type == 'base_on_rule'\\" class=\\"oe_stat_button\\" type=\\"object\\" icon=\\"fa-play\\">\\n                            <div class=\\"o_stat_info o_field_widget\\">\\n                                <span class=\\"text-success\\">Environnement</span>\\n                                <span class=\\"o_stat_text\\">de production</span>\\n                            </div>\\n                        </button>\\n                        <!-- transfer referenced here due to view inheritance issue in current master (post-saas-16) -->\\n                        <button name=\\"toggle_prod_environment\\" invisible=\\"prod_environment or delivery_type == 'fixed' or delivery_type == 'base_on_rule'\\" class=\\"oe_stat_button\\" type=\\"object\\" icon=\\"fa-stop\\">\\n                            <div class=\\"o_stat_info o_field_widget\\">\\n                                <span class=\\"o_stat_text o_warning_text fw-bold\\">Environnement</span>\\n                                <span class=\\"o_stat_text\\">de test</span>\\n                            </div>\\n                        </button>\\n                        <button name=\\"toggle_debug\\" invisible=\\"delivery_type == 'fixed' or delivery_type == 'base_on_rule' or debug_logging\\" class=\\"oe_stat_button\\" type=\\"object\\" icon=\\"fa-code\\">\\n                            <div class=\\"o_stat_info o_field_widget\\">\\n                                <span class=\\"o_stat_text text-danger\\">Aucun débogage</span>\\n                            </div>\\n                        </button>\\n                        <button name=\\"toggle_debug\\" invisible=\\"delivery_type == 'fixed' or delivery_type == 'base_on_rule' or not debug_logging\\" class=\\"oe_stat_button\\" type=\\"object\\" icon=\\"fa-code\\">\\n                            <div class=\\"o_stat_info o_field_widget\\">\\n                                <span class=\\"text-success\\">Demandes de débogage</span>\\n                            </div>\\n                        </button>\\n                    </div>\\n                    <widget name=\\"web_ribbon\\" title=\\"Archivé\\" bg_color=\\"text-bg-danger\\" invisible=\\"active\\"/>\\n                    <div class=\\"oe_title\\" name=\\"title\\">\\n                        <label for=\\"name\\" string=\\"Mode de livraison\\"/>\\n                        <h1>\\n                            <field name=\\"name\\" placeholder=\\"Par ex. UPS Express\\"/>\\n                        </h1>\\n                    </div>\\n                    <group>\\n                        <group name=\\"provider_details\\">\\n                            <field name=\\"active\\" invisible=\\"1\\"/>\\n                            <field name=\\"company_id\\" invisible=\\"1\\"/>\\n                            <field name=\\"prod_environment\\" invisible=\\"1\\"/>\\n                            <field name=\\"debug_logging\\" invisible=\\"1\\"/>\\n                            <label for=\\"delivery_type\\"/>\\n                            <div>\\n                                <field name=\\"delivery_type\\"/>\\n                                <button string=\\"Installer plus de fournisseurs\\" name=\\"install_more_provider\\" type=\\"object\\" class=\\"oe_link oe_edit_only\\"/>\\n                            </div>\\n                            <field name=\\"allow_cash_on_delivery\\"/>\\n                            <field name=\\"integration_level\\" widget=\\"radio\\" invisible=\\"delivery_type == 'fixed' or delivery_type == 'base_on_rule'\\"/>\\n                            <field name=\\"company_id\\" groups=\\"base.group_multi_company\\" placeholder=\\"Visible to all\\"/>\\n                        </group>\\n                        <group name=\\"delivery_details\\">\\n                            <field name=\\"currency_id\\" invisible=\\"1\\"/>\\n                            <field name=\\"fixed_price\\" widget=\\"monetary\\" class=\\"oe_inline\\" invisible=\\"delivery_type != 'fixed'\\"/>\\n                            <field name=\\"margin\\" string=\\"Marge sur le taux\\" widget=\\"percentage\\" class=\\"oe_inline\\" invisible=\\"delivery_type == 'fixed'\\"/>\\n                            <field name=\\"fixed_margin\\" string=\\"Marge additionnelle \\" widget=\\"monetary\\" invisible=\\"delivery_type == 'fixed'\\"/>\\n                            <label for=\\"free_over\\" invisible=\\"delivery_type == 'base_on_rule'\\"/>\\n                            <div name=\\"free_over_amount\\" invisible=\\"delivery_type == 'base_on_rule'\\">\\n                                <field name=\\"free_over\\"/>\\n                                <field name=\\"amount\\" widget=\\"monetary\\" class=\\"oe_inline\\" invisible=\\"not free_over\\" required=\\"free_over\\"/>\\n                            </div>\\n                            <field name=\\"product_id\\" context=\\"{                                 'default_type': 'service',                                 'default_sale_ok': False,                                 'default_purchase_ok': False,                                 'default_invoice_policy': 'order',                             }\\"/>\\n                            <field name=\\"tracking_url\\" placeholder=\\"par ex. https://ekartlogistics.com/shipmenttrack/&lt;shipmenttrackingnumber&gt;\\" invisible=\\"delivery_type not in ('fixed', 'base_on_rule')\\"/>\\n                            <field name=\\"invoice_policy\\" widget=\\"radio\\" invisible=\\"delivery_type in ('fixed', 'base_on_rule') or integration_level == 'rate'\\"/>\\n                            <field name=\\"supports_shipping_insurance\\" invisible=\\"1\\"/>\\n                            <label for=\\"shipping_insurance\\" String=\\"Shipping Insurance\\" invisible=\\"not supports_shipping_insurance\\"/>\\n                            <div invisible=\\"not supports_shipping_insurance\\">\\n                                <field name=\\"shipping_insurance\\" class=\\"oe_inline\\"/>%\\n                            </div>\\n                        </group>\\n                    </group>\\n                    <notebook>\\n                        <page name=\\"pricing\\" string=\\"Tarif\\" invisible=\\"delivery_type != 'base_on_rule'\\">\\n                            <group name=\\"general\\">\\n                                <field name=\\"price_rule_ids\\" nolabel=\\"1\\"/>\\n                            </group>\\n                        </page>\\n                        <page string=\\"Disponibilité\\" name=\\"destination\\">\\n                            <group col=\\"1\\">\\n                                <p>\\n                                    Remplir ce formulaire vous permet d'indiquer le mode d'expédition disponible en fonction du contenu de la commande ou de sa destination.\\n                                </p>\\n                                <group>\\n                                    <group name=\\"country_details\\" string=\\"Destination\\">\\n                                        <field name=\\"country_ids\\" widget=\\"many2many_tags\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                                        <field name=\\"state_ids\\" widget=\\"many2many_tags\\" domain=\\"[('country_id', 'in', country_ids)]\\" readonly=\\"not country_ids\\" force_save=\\"1\\" options=\\"{'no_create': True}\\"/>\\n                                        <field name=\\"zip_prefix_ids\\" widget=\\"many2many_tags\\" readonly=\\"not country_ids\\" force_save=\\"1\\" options=\\"{'no_create_edit': True}\\"/>\\n                                    </group>\\n                                    <group name=\\"content\\" string=\\"Contenu\\">\\n                                        <label for=\\"max_weight\\"/>\\n                                        <div class=\\"o_row\\">\\n                                            <field name=\\"max_weight\\" class=\\"oe_inline\\"/>\\n                                            <field name=\\"weight_uom_name\\"/>\\n                                        </div>\\n                                        <label for=\\"max_volume\\"/>\\n                                        <div class=\\"o_row\\">\\n                                            <field name=\\"max_volume\\" class=\\"oe_inline\\"/>\\n                                            <field name=\\"volume_uom_name\\"/>\\n                                        </div>\\n                                        <field name=\\"must_have_tag_ids\\" widget=\\"many2many_tags\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                                        <field name=\\"excluded_tag_ids\\" widget=\\"many2many_tags\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                                    </group>\\n                                </group>\\n                                <p class=\\"fst-italic\\" invisible=\\"country_ids\\">\\n                                    Veuillez sélectionner un pays avant de choisir un état ou un code postal.\\n                                </p>\\n                            </group>\\n                        </page>\\n                        <page string=\\"Description\\" name=\\"description\\">\\n                            <field name=\\"carrier_description\\" placeholder=\\"Les détails du mode d'expédition doivent être inclus dans les commandes clients et leurs e-mails de confirmation. Par ex. Instructions à suivre par les clients.\\"/>\\n                        </page>\\n                    </notebook>\\n                </sheet>\\n            </form>"}	<?xml version="1.0"?>\n<form string="Carrier">\n                <sheet>\n                    <div class="oe_button_box" name="button_box">\n                        <button name="toggle_prod_environment" invisible="not prod_environment or delivery_type == 'fixed' or delivery_type == 'base_on_rule'" class="oe_stat_button" type="object" icon="fa-play">\n                            <div class="o_stat_info o_field_widget">\n                                <span class="text-success">Production</span>\n                                <span class="o_stat_text">Environment</span>\n                            </div>\n                        </button>\n                        <!-- transfer referenced here due to view inheritance issue in current master (post-saas-16) -->\n                        <button name="toggle_prod_environment" invisible="prod_environment or delivery_type == 'fixed' or delivery_type == 'base_on_rule'" class="oe_stat_button" type="object" icon="fa-stop">\n                            <div class="o_stat_info o_field_widget">\n                                <span class="o_stat_text o_warning_text fw-bold">Test</span>\n                                <span class="o_stat_text">Environment</span>\n                            </div>\n                        </button>\n                        <button name="toggle_debug" invisible="delivery_type == 'fixed' or delivery_type == 'base_on_rule' or debug_logging" class="oe_stat_button" type="object" icon="fa-code">\n                            <div class="o_stat_info o_field_widget">\n                                <span class="o_stat_text text-danger">No debug</span>\n                            </div>\n                        </button>\n                        <button name="toggle_debug" invisible="delivery_type == 'fixed' or delivery_type == 'base_on_rule' or not debug_logging" class="oe_stat_button" type="object" icon="fa-code">\n                            <div class="o_stat_info o_field_widget">\n                                <span class="text-success">Debug requests</span>\n                            </div>\n                        </button>\n                    </div>\n                    <widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>\n                    <div class="oe_title" name="title">\n                        <label for="name" string="Delivery Method"/>\n                        <h1>\n                            <field name="name" placeholder="e.g. UPS Express"/>\n                        </h1>\n                    </div>\n                    <group>\n                        <group name="provider_details">\n                            <field name="active" invisible="1"/>\n                            <field name="company_id" invisible="1"/>\n                            <field name="prod_environment" invisible="1"/>\n                            <field name="debug_logging" invisible="1"/>\n                            <label for="delivery_type"/>\n                            <div>\n                                <field name="delivery_type"/>\n                                <button string="Install more Providers" name="install_more_provider" type="object" class="oe_link oe_edit_only"/>\n                            </div>\n                            <field name="allow_cash_on_delivery"/>\n                            <field name="integration_level" widget="radio" invisible="delivery_type == 'fixed' or delivery_type == 'base_on_rule'"/>\n                            <field name="company_id" groups="base.group_multi_company" placeholder="Visible to all"/>\n                        </group>\n                        <group name="delivery_details">\n                            <field name="currency_id" invisible="1"/>\n                            <field name="fixed_price" widget="monetary" class="oe_inline" invisible="delivery_type != 'fixed'"/>\n                            <field name="margin" string="Margin on Rate" widget="percentage" class="oe_inline" invisible="delivery_type == 'fixed'"/>\n                            <field name="fixed_margin" string="Additional margin" widget="monetary" invisible="delivery_type == 'fixed'"/>\n                            <label for="free_over" invisible="delivery_type == 'base_on_rule'"/>\n                            <div name="free_over_amount" invisible="delivery_type == 'base_on_rule'">\n                                <field name="free_over"/>\n                                <field name="amount" widget="monetary" class="oe_inline" invisible="not free_over" required="free_over"/>\n                            </div>\n                            <field name="product_id" context="{                                 'default_type': 'service',                                 'default_sale_ok': False,                                 'default_purchase_ok': False,                                 'default_invoice_policy': 'order',                             }"/>\n                            <field name="tracking_url" placeholder="i.e. https://ekartlogistics.com/shipmenttrack/&lt;shipmenttrackingnumber&gt;" invisible="delivery_type not in ('fixed', 'base_on_rule')"/>\n                            <field name="invoice_policy" widget="radio" invisible="delivery_type in ('fixed', 'base_on_rule') or integration_level == 'rate'"/>\n                            <field name="supports_shipping_insurance" invisible="1"/>\n                            <label for="shipping_insurance" String="Shipping Insurance" invisible="not supports_shipping_insurance"/>\n                            <div invisible="not supports_shipping_insurance">\n                                <field name="shipping_insurance" class="oe_inline"/>%\n                            </div>\n                        </group>\n                    </group>\n                    <notebook>\n                        <page name="pricing" string="Pricing" invisible="delivery_type != 'base_on_rule'">\n                            <group name="general">\n                                <field name="price_rule_ids" nolabel="1"/>\n                            </group>\n                        </page>\n                        <page string="Availability" name="destination">\n                            <group col="1">\n                                <p>\n                                    Filling this form allows you to make the shipping method available according to the content of the order or its destination.\n                                </p>\n                                <group>\n                                    <group name="country_details" string="Destination">\n                                        <field name="country_ids" widget="many2many_tags" options="{'no_open': True, 'no_create': True}"/>\n                                        <field name="state_ids" widget="many2many_tags" domain="[('country_id', 'in', country_ids)]" readonly="not country_ids" force_save="1" options="{'no_create': True}"/>\n                                        <field name="zip_prefix_ids" widget="many2many_tags" readonly="not country_ids" force_save="1" options="{'no_create_edit': True}"/>\n                                    </group>\n                                    <group name="content" string="Content">\n                                        <label for="max_weight"/>\n                                        <div class="o_row">\n                                            <field name="max_weight" class="oe_inline"/>\n                                            <field name="weight_uom_name"/>\n                                        </div>\n                                        <label for="max_volume"/>\n                                        <div class="o_row">\n                                            <field name="max_volume" class="oe_inline"/>\n                                            <field name="volume_uom_name"/>\n                                        </div>\n                                        <field name="must_have_tag_ids" widget="many2many_tags" options="{'no_open': True, 'no_create': True}"/>\n                                        <field name="excluded_tag_ids" widget="many2many_tags" options="{'no_open': True, 'no_create': True}"/>\n                                    </group>\n                                </group>\n                                <p class="fst-italic" invisible="country_ids">\n                                    Please select a country before choosing a state or a zip prefix.\n                                </p>\n                            </group>\n                        </page>\n                        <page string="Description" name="description">\n                            <field name="carrier_description" placeholder="Shipping method details to be included at bottom sales orders and their confirmation emails. E.g. Instructions for customers to follow."/>\n                        </page>\n                    </notebook>\n                </sheet>\n            </form>\n        	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2287	16	1873	1	1	COD Provider Form	payment.provider	\N	form	delivery/views/payment_provider_views.xml	extension	{"en_US": "<field name=\\"qr_code\\" position=\\"attributes\\">\\n                <attribute name=\\"invisible\\" separator=\\" or \\" add=\\"custom_mode == 'cash_on_delivery'\\"/>\\n            </field>"}	<?xml version="1.0"?>\n<field name="qr_code" position="attributes">\n                <attribute name="invisible" separator=" or " add="custom_mode == 'cash_on_delivery'"/>\n            </field>\n        	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2288	16	126	1	1	res.partner.carrier.property.form.inherit	res.partner	\N	form	delivery/views/res_partner_views.xml	extension	{"en_US": "<group name=\\"sale\\" position=\\"inside\\">\\n                <field name=\\"property_delivery_carrier_id\\"/>\\n            </group>"}	<?xml version="1.0"?>\n<group name="sale" position="inside">\n                <field name="property_delivery_carrier_id"/>\n            </group>\n        	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2290	16	2047	1	1	res.config.settings.view.form.inherit.delivery	res.config.settings	\N	form	delivery/wizard/res_config_settings_views.xml	extension	{"en_US": "<setting id=\\"delivery\\" position=\\"inside\\">\\n                <div class=\\"content-group\\">\\n                    <div class=\\"mt8\\" invisible=\\"not module_delivery\\">\\n                        <button name=\\"473\\" type=\\"action\\" class=\\"btn-link\\" icon=\\"oi-arrow-right\\" string=\\"Shipping Methods\\"/>\\n                    </div>\\n                 </div>\\n            </setting>", "fr_FR": "<setting id=\\"delivery\\" position=\\"inside\\">\\n                <div class=\\"content-group\\">\\n                    <div class=\\"mt8\\" invisible=\\"not module_delivery\\">\\n                        <button name=\\"473\\" type=\\"action\\" class=\\"btn-link\\" icon=\\"oi-arrow-right\\" string=\\"Modes d'expédition\\"/>\\n                    </div>\\n                 </div>\\n            </setting>"}	<?xml version="1.0"?>\n<setting id="delivery" position="inside">\n                <div class="content-group">\n                    <div class="mt8" invisible="not module_delivery">\n                        <button name="473" type="action" class="btn-link" icon="oi-arrow-right" string="Shipping Methods"/>\n                    </div>\n                 </div>\n            </setting>\n        	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2291	16	\N	1	1	choose.delivery.carrier.form	choose.delivery.carrier	\N	form	delivery/wizard/choose_delivery_carrier_views.xml	primary	{"en_US": "<form>\\n                <group>\\n                    <group>\\n                        <field name=\\"carrier_id\\"/>\\n                        <label name=\\"carried_weight_label\\" for=\\"total_weight\\" groups=\\"uom.group_uom\\"/>\\n                        <div name=\\"carried_weight\\" class=\\"o_row\\" groups=\\"uom.group_uom\\">\\n                            <field name=\\"total_weight\\"/>\\n                            <field name=\\"weight_uom_name\\"/>\\n                        </div>\\n                        <field name=\\"delivery_type\\" invisible=\\"1\\"/>\\n                        <field name=\\"currency_id\\" invisible=\\"1\\"/>\\n                        <field name=\\"order_id\\" invisible=\\"1\\"/>\\n                        <field name=\\"delivery_price\\" invisible=\\"1\\"/>\\n                        <label for=\\"display_price\\"/>\\n                        <div class=\\"o_row\\">\\n                            <field name=\\"display_price\\" widget=\\"monetary\\" options=\\"{'currency_field': 'currency_id'}\\" invisible=\\"not carrier_id\\"/>\\n                            <button name=\\"update_price\\" type=\\"object\\" invisible=\\"delivery_type in ('fixed', 'base_on_rule')\\">\\n                                <i class=\\"oi oi-arrow-right me-1\\"/>Get rate\\n                            </button>\\n                        </div>\\n                    </group>\\n                </group>\\n                <div role=\\"alert\\" class=\\"alert alert-warning\\" invisible=\\"invoicing_message == ''\\">\\n                    <field name=\\"invoicing_message\\" nolabel=\\"1\\"/>\\n                </div>\\n                <div role=\\"alert\\" class=\\"alert alert-info\\" invisible=\\"context.get('no_rate') or not delivery_message\\">\\n                    <field name=\\"delivery_message\\" nolabel=\\"1\\"/>\\n                </div>\\n                <div role=\\"alert\\" class=\\"alert alert-danger\\" invisible=\\"not context.get('no_rate') or not delivery_message\\">\\n                    <field name=\\"delivery_message\\" nolabel=\\"1\\"/>\\n                </div>\\n                <footer>\\n                    <button name=\\"button_confirm\\" invisible=\\"not context.get('carrier_recompute')\\" type=\\"object\\" string=\\"Update\\" class=\\"btn-primary\\" data-hotkey=\\"q\\"/>\\n                    <button name=\\"button_confirm\\" type=\\"object\\" invisible=\\"context.get('carrier_recompute') or not delivery_type in ('fixed', 'base_on_rule') and not display_price\\" string=\\"Add\\" class=\\"btn-primary\\" data-hotkey=\\"q\\"/>\\n                    <button name=\\"button_confirm\\" type=\\"object\\" invisible=\\"context.get('carrier_recompute') or display_price or delivery_type in ('fixed', 'base_on_rule')\\" confirm=\\"Are you sure you want the delivery to be free for this order? You might have forgotten to compute the rates.\\" string=\\"Add\\" class=\\"btn-primary\\" data-hotkey=\\"q\\"/>\\n                    <button string=\\"Discard\\" special=\\"cancel\\" data-hotkey=\\"x\\" class=\\"btn-secondary\\"/>\\n                </footer>\\n            </form>", "fr_FR": "<form>\\n                <group>\\n                    <group>\\n                        <field name=\\"carrier_id\\"/>\\n                        <label name=\\"carried_weight_label\\" for=\\"total_weight\\" groups=\\"uom.group_uom\\"/>\\n                        <div name=\\"carried_weight\\" class=\\"o_row\\" groups=\\"uom.group_uom\\">\\n                            <field name=\\"total_weight\\"/>\\n                            <field name=\\"weight_uom_name\\"/>\\n                        </div>\\n                        <field name=\\"delivery_type\\" invisible=\\"1\\"/>\\n                        <field name=\\"currency_id\\" invisible=\\"1\\"/>\\n                        <field name=\\"order_id\\" invisible=\\"1\\"/>\\n                        <field name=\\"delivery_price\\" invisible=\\"1\\"/>\\n                        <label for=\\"display_price\\"/>\\n                        <div class=\\"o_row\\">\\n                            <field name=\\"display_price\\" widget=\\"monetary\\" options=\\"{'currency_field': 'currency_id'}\\" invisible=\\"not carrier_id\\"/>\\n                            <button name=\\"update_price\\" type=\\"object\\" invisible=\\"delivery_type in ('fixed', 'base_on_rule')\\">\\n                                <i class=\\"oi oi-arrow-right me-1\\"/>Obtenir le tarif\\n                            </button>\\n                        </div>\\n                    </group>\\n                </group>\\n                <div role=\\"alert\\" class=\\"alert alert-warning\\" invisible=\\"invoicing_message == ''\\">\\n                    <field name=\\"invoicing_message\\" nolabel=\\"1\\"/>\\n                </div>\\n                <div role=\\"alert\\" class=\\"alert alert-info\\" invisible=\\"context.get('no_rate') or not delivery_message\\">\\n                    <field name=\\"delivery_message\\" nolabel=\\"1\\"/>\\n                </div>\\n                <div role=\\"alert\\" class=\\"alert alert-danger\\" invisible=\\"not context.get('no_rate') or not delivery_message\\">\\n                    <field name=\\"delivery_message\\" nolabel=\\"1\\"/>\\n                </div>\\n                <footer>\\n                    <button name=\\"button_confirm\\" invisible=\\"not context.get('carrier_recompute')\\" type=\\"object\\" string=\\"Mettre à jour\\" class=\\"btn-primary\\" data-hotkey=\\"q\\"/>\\n                    <button name=\\"button_confirm\\" type=\\"object\\" invisible=\\"context.get('carrier_recompute') or not delivery_type in ('fixed', 'base_on_rule') and not display_price\\" string=\\"Ajouter\\" class=\\"btn-primary\\" data-hotkey=\\"q\\"/>\\n                    <button name=\\"button_confirm\\" type=\\"object\\" invisible=\\"context.get('carrier_recompute') or display_price or delivery_type in ('fixed', 'base_on_rule')\\" confirm=\\"Are you sure you want the delivery to be free for this order? You might have forgotten to compute the rates.\\" string=\\"Ajouter\\" class=\\"btn-primary\\" data-hotkey=\\"q\\"/>\\n                    <button string=\\"Ignorer\\" special=\\"cancel\\" data-hotkey=\\"x\\" class=\\"btn-secondary\\"/>\\n                </footer>\\n            </form>"}	<?xml version="1.0"?>\n<form>\n                <group>\n                    <group>\n                        <field name="carrier_id"/>\n                        <label name="carried_weight_label" for="total_weight" groups="uom.group_uom"/>\n                        <div name="carried_weight" class="o_row" groups="uom.group_uom">\n                            <field name="total_weight"/>\n                            <field name="weight_uom_name"/>\n                        </div>\n                        <field name="delivery_type" invisible="1"/>\n                        <field name="currency_id" invisible="1"/>\n                        <field name="order_id" invisible="1"/>\n                        <field name="delivery_price" invisible="1"/>\n                        <label for="display_price"/>\n                        <div class="o_row">\n                            <field name="display_price" widget="monetary" options="{'currency_field': 'currency_id'}" invisible="not carrier_id"/>\n                            <button name="update_price" type="object" invisible="delivery_type in ('fixed', 'base_on_rule')">\n                                <i class="oi oi-arrow-right me-1"/>Get rate\n                            </button>\n                        </div>\n                    </group>\n                </group>\n                <div role="alert" class="alert alert-warning" invisible="invoicing_message == ''">\n                    <field name="invoicing_message" nolabel="1"/>\n                </div>\n                <div role="alert" class="alert alert-info" invisible="context.get('no_rate') or not delivery_message">\n                    <field name="delivery_message" nolabel="1"/>\n                </div>\n                <div role="alert" class="alert alert-danger" invisible="not context.get('no_rate') or not delivery_message">\n                    <field name="delivery_message" nolabel="1"/>\n                </div>\n                <footer>\n                    <button name="button_confirm" invisible="not context.get('carrier_recompute')" type="object" string="Update" class="btn-primary" data-hotkey="q"/>\n                    <button name="button_confirm" type="object" invisible="context.get('carrier_recompute') or not delivery_type in ('fixed', 'base_on_rule') and not display_price" string="Add" class="btn-primary" data-hotkey="q"/>\n                    <button name="button_confirm" type="object" invisible="context.get('carrier_recompute') or display_price or delivery_type in ('fixed', 'base_on_rule')" confirm="Are you sure you want the delivery to be free for this order? You might have forgotten to compute the rates." string="Add" class="btn-primary" data-hotkey="q"/>\n                    <button string="Discard" special="cancel" data-hotkey="x" class="btn-secondary"/>\n                </footer>\n            </form>\n        	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2280	16	2033	1	1	delivery_report_saleorder_document	\N	delivery.delivery_report_saleorder_document	qweb	delivery/report/ir_actions_report_templates.xml	extension	{"en_US": "<data inherit_id=\\"sale.report_saleorder_document\\">\\n        <span name=\\"order_note\\" position=\\"before\\">\\n            <p t-if=\\"doc.carrier_id.carrier_description\\" id=\\"carrier_description\\">\\n                <strong>Shipping Description</strong>\\n                <div t-out=\\"doc.carrier_id.carrier_description\\"/>\\n            </p>\\n        </span>\\n    </data>", "fr_FR": "<data inherit_id=\\"sale.report_saleorder_document\\">\\n        <span name=\\"order_note\\" position=\\"before\\">\\n            <p t-if=\\"doc.carrier_id.carrier_description\\" id=\\"carrier_description\\">\\n                <strong>Description de l'expédition</strong>\\n                <div t-out=\\"doc.carrier_id.carrier_description\\"/>\\n            </p>\\n        </span>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="sale.report_saleorder_document">\n        <span name="order_note" position="before">\n            <p t-if="doc.carrier_id.carrier_description" id="carrier_description">\n                <strong>Shipping Description</strong>\n                <div t-out="doc.carrier_id.carrier_description"/>\n            </p>\n        </span>\n    </data>\n\n	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2282	16	\N	1	1	delivery.carrier.search	delivery.carrier	\N	search	delivery/views/delivery_carrier_views.xml	primary	{"en_US": "<search string=\\"Delivery Carrier\\">\\n                <field name=\\"name\\" string=\\"Carrier\\"/>\\n                <field name=\\"delivery_type\\"/>\\n                <separator/>\\n                <filter string=\\"Archived\\" name=\\"inactive\\" domain=\\"[('active', '=', False)]\\"/>\\n                <group expand=\\"1\\" string=\\"Group By\\">\\n                    <filter string=\\"Provider\\" name=\\"provider\\" context=\\"{'group_by':'delivery_type', 'residual_visible':True}\\"/>\\n                </group>\\n            </search>", "fr_FR": "<search string=\\"Transporteur\\">\\n                <field name=\\"name\\" string=\\"Transporteur\\"/>\\n                <field name=\\"delivery_type\\"/>\\n                <separator/>\\n                <filter string=\\"Archivé\\" name=\\"inactive\\" domain=\\"[('active', '=', False)]\\"/>\\n                <group expand=\\"1\\" string=\\"Regrouper par\\">\\n                    <filter string=\\"Fournisseur\\" name=\\"provider\\" context=\\"{'group_by':'delivery_type', 'residual_visible':True}\\"/>\\n                </group>\\n            </search>"}	<?xml version="1.0"?>\n<search string="Delivery Carrier">\n                <field name="name" string="Carrier"/>\n                <field name="delivery_type"/>\n                <separator/>\n                <filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>\n                <group expand="1" string="Group By">\n                    <filter string="Provider" name="provider" context="{'group_by':'delivery_type', 'residual_visible':True}"/>\n                </group>\n            </search>\n        	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2281	16	\N	1	1	delivery.carrier.list	delivery.carrier	\N	list	delivery/views/delivery_carrier_views.xml	primary	{"en_US": "<list string=\\"Carrier\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"name\\"/>\\n                <field name=\\"delivery_type\\"/>\\n                <field name=\\"company_id\\" groups=\\"base.group_multi_company\\"/>\\n                <field name=\\"country_ids\\" widget=\\"many2many_tags\\" optional=\\"hide\\"/>\\n                <field name=\\"max_weight\\" optional=\\"show\\"/>\\n                <field name=\\"max_volume\\" optional=\\"hide\\"/>\\n                <field name=\\"must_have_tag_ids\\" widget=\\"many2many_tags\\" optional=\\"hide\\"/>\\n                <field name=\\"excluded_tag_ids\\" widget=\\"many2many_tags\\" optional=\\"hide\\"/>\\n            </list>", "fr_FR": "<list string=\\"Transporteur\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"name\\"/>\\n                <field name=\\"delivery_type\\"/>\\n                <field name=\\"company_id\\" groups=\\"base.group_multi_company\\"/>\\n                <field name=\\"country_ids\\" widget=\\"many2many_tags\\" optional=\\"hide\\"/>\\n                <field name=\\"max_weight\\" optional=\\"show\\"/>\\n                <field name=\\"max_volume\\" optional=\\"hide\\"/>\\n                <field name=\\"must_have_tag_ids\\" widget=\\"many2many_tags\\" optional=\\"hide\\"/>\\n                <field name=\\"excluded_tag_ids\\" widget=\\"many2many_tags\\" optional=\\"hide\\"/>\\n            </list>"}	<?xml version="1.0"?>\n<list string="Carrier">\n                <field name="sequence" widget="handle"/>\n                <field name="name"/>\n                <field name="delivery_type"/>\n                <field name="company_id" groups="base.group_multi_company"/>\n                <field name="country_ids" widget="many2many_tags" optional="hide"/>\n                <field name="max_weight" optional="show"/>\n                <field name="max_volume" optional="hide"/>\n                <field name="must_have_tag_ids" widget="many2many_tags" optional="hide"/>\n                <field name="excluded_tag_ids" widget="many2many_tags" optional="hide"/>\n            </list>\n        	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2284	16	\N	1	1	delivery.price.rule.form	delivery.price.rule	\N	form	delivery/views/delivery_price_rule_views.xml	primary	{"en_US": "<form string=\\"Price Rules\\">\\n                <group>\\n                    <field name=\\"name\\" invisible=\\"1\\"/>\\n                </group>\\n                <group>\\n                    <label for=\\"variable\\" string=\\"Condition\\"/>\\n                    <div class=\\"o_row\\">\\n                        <field name=\\"variable\\"/>\\n                        <field name=\\"operator\\"/>\\n                        <field name=\\"max_value\\"/>\\n                    </div>\\n                    <field name=\\"currency_id\\" invisible=\\"1\\"/>\\n                    <label for=\\"list_base_price\\" string=\\"Delivery Cost\\"/>\\n                    <div>\\n                        <field name=\\"list_base_price\\" widget=\\"monetary\\" class=\\"oe_inline\\"/>\\n                        +\\n                        <field name=\\"list_price\\" widget=\\"monetary\\" class=\\"oe_inline\\"/>\\n                        *\\n                        <field name=\\"variable_factor\\" class=\\"oe_inline\\"/>\\n                    </div>\\n                </group>\\n            </form>", "fr_FR": "<form string=\\"Règles de prix\\">\\n                <group>\\n                    <field name=\\"name\\" invisible=\\"1\\"/>\\n                </group>\\n                <group>\\n                    <label for=\\"variable\\" string=\\"Condition\\"/>\\n                    <div class=\\"o_row\\">\\n                        <field name=\\"variable\\"/>\\n                        <field name=\\"operator\\"/>\\n                        <field name=\\"max_value\\"/>\\n                    </div>\\n                    <field name=\\"currency_id\\" invisible=\\"1\\"/>\\n                    <label for=\\"list_base_price\\" string=\\"Frais de livraison\\"/>\\n                    <div>\\n                        <field name=\\"list_base_price\\" widget=\\"monetary\\" class=\\"oe_inline\\"/>\\n                        +\\n                        <field name=\\"list_price\\" widget=\\"monetary\\" class=\\"oe_inline\\"/>\\n                        *\\n                        <field name=\\"variable_factor\\" class=\\"oe_inline\\"/>\\n                    </div>\\n                </group>\\n            </form>"}	<?xml version="1.0"?>\n<form string="Price Rules">\n                <group>\n                    <field name="name" invisible="1"/>\n                </group>\n                <group>\n                    <label for="variable" string="Condition"/>\n                    <div class="o_row">\n                        <field name="variable"/>\n                        <field name="operator"/>\n                        <field name="max_value"/>\n                    </div>\n                    <field name="currency_id" invisible="1"/>\n                    <label for="list_base_price" string="Delivery Cost"/>\n                    <div>\n                        <field name="list_base_price" widget="monetary" class="oe_inline"/>\n                        +\n                        <field name="list_price" widget="monetary" class="oe_inline"/>\n                        *\n                        <field name="variable_factor" class="oe_inline"/>\n                    </div>\n                </group>\n            </form>\n        	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2285	16	\N	1	1	delivery.price.rule.list	delivery.price.rule	\N	list	delivery/views/delivery_price_rule_views.xml	primary	{"en_US": "<list string=\\"Price Rules\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"name\\"/>\\n            </list>", "fr_FR": "<list string=\\"Règles de prix\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"name\\"/>\\n            </list>"}	<?xml version="1.0"?>\n<list string="Price Rules">\n                <field name="sequence" widget="handle"/>\n                <field name="name"/>\n            </list>\n        	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2289	16	2063	1	1	delivery.sale.order.form.view.with_carrier	sale.order	\N	form	delivery/views/sale_order_views.xml	extension	{"en_US": "<data><header position=\\"inside\\">\\n                <!-- modified through an onchange, must be present but not readonly -->\\n                <field name=\\"recompute_delivery_price\\" invisible=\\"1\\"/>\\n            </header>\\n            <div name=\\"so_button_below_order_lines\\" position=\\"inside\\">\\n                <button string=\\"Add shipping\\" name=\\"action_open_delivery_wizard\\" type=\\"object\\" invisible=\\"is_all_service or not order_line or delivery_set\\"/>\\n                <button string=\\"Update shipping cost\\" name=\\"action_open_delivery_wizard\\" context=\\"{'carrier_recompute':True}\\" type=\\"object\\" class=\\"text-warning btn-secondary\\" invisible=\\"is_all_service or not recompute_delivery_price or not delivery_set\\"/>\\n                <button string=\\"Update shipping cost\\" name=\\"action_open_delivery_wizard\\" context=\\"{'carrier_recompute':True}\\" type=\\"object\\" invisible=\\"is_all_service or recompute_delivery_price or not delivery_set\\"/>\\n            </div>\\n            <xpath expr=\\"//field[@name='order_line']/list\\" position=\\"attributes\\">\\n                <attribute name=\\"decoration-warning\\" add=\\"(recompute_delivery_price and is_delivery)\\" separator=\\"or\\"/>\\n            </xpath>\\n            <label for=\\"commitment_date\\" position=\\"before\\">\\n                <field name=\\"shipping_weight\\" readonly=\\"True\\"/>\\n            </label>\\n        </data>", "fr_FR": "<data><header position=\\"inside\\">\\n                <!-- modified through an onchange, must be present but not readonly -->\\n                <field name=\\"recompute_delivery_price\\" invisible=\\"1\\"/>\\n            </header>\\n            <div name=\\"so_button_below_order_lines\\" position=\\"inside\\">\\n                <button string=\\"Ajouter l'expédition\\" name=\\"action_open_delivery_wizard\\" type=\\"object\\" invisible=\\"is_all_service or not order_line or delivery_set\\"/>\\n                <button string=\\"Mettre à jour les frais d'expédition\\" name=\\"action_open_delivery_wizard\\" context=\\"{'carrier_recompute':True}\\" type=\\"object\\" class=\\"text-warning btn-secondary\\" invisible=\\"is_all_service or not recompute_delivery_price or not delivery_set\\"/>\\n                <button string=\\"Mettre à jour les frais d'expédition\\" name=\\"action_open_delivery_wizard\\" context=\\"{'carrier_recompute':True}\\" type=\\"object\\" invisible=\\"is_all_service or recompute_delivery_price or not delivery_set\\"/>\\n            </div>\\n            <xpath expr=\\"//field[@name='order_line']/list\\" position=\\"attributes\\">\\n                <attribute name=\\"decoration-warning\\" add=\\"(recompute_delivery_price and is_delivery)\\" separator=\\"or\\"/>\\n            </xpath>\\n            <label for=\\"commitment_date\\" position=\\"before\\">\\n                <field name=\\"shipping_weight\\" readonly=\\"True\\"/>\\n            </label>\\n        </data>"}	<?xml version="1.0"?>\n<data><header position="inside">\n                <!-- modified through an onchange, must be present but not readonly -->\n                <field name="recompute_delivery_price" invisible="1"/>\n            </header>\n            <div name="so_button_below_order_lines" position="inside">\n                <button string="Add shipping" name="action_open_delivery_wizard" type="object" invisible="is_all_service or not order_line or delivery_set"/>\n                <button string="Update shipping cost" name="action_open_delivery_wizard" context="{'carrier_recompute':True}" type="object" class="text-warning btn-secondary" invisible="is_all_service or not recompute_delivery_price or not delivery_set"/>\n                <button string="Update shipping cost" name="action_open_delivery_wizard" context="{'carrier_recompute':True}" type="object" invisible="is_all_service or recompute_delivery_price or not delivery_set"/>\n            </div>\n            <xpath expr="//field[@name='order_line']/list" position="attributes">\n                <attribute name="decoration-warning" add="(recompute_delivery_price and is_delivery)" separator="or"/>\n            </xpath>\n            <label for="commitment_date" position="before">\n                <field name="shipping_weight" readonly="True"/>\n            </label>\n        </data>	f	t	2025-07-20 21:22:17.354794	2025-07-20 21:22:17.354794	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2294	16	\N	1	1	sale.order.template.form	sale.order.template	\N	form	sale_management/views/sale_order_template_views.xml	primary	{"en_US": "<form string=\\"Quotation Template\\">\\n                <sheet>\\n                    <div name=\\"button_box\\" class=\\"oe_button_box\\"/>\\n                    <widget name=\\"web_ribbon\\" title=\\"Archived\\" bg_color=\\"text-bg-danger\\" invisible=\\"active\\"/>\\n                    <div class=\\"oe_title\\" name=\\"sale_order_template_title\\">\\n                        <label for=\\"name\\" id=\\"sale_order_template_title\\"/>\\n                        <h1>\\n                            <field name=\\"name\\" placeholder=\\"e.g. Standard Consultancy Package\\" class=\\"d-block\\"/>\\n                        </h1>\\n                    </div>\\n                    <group>\\n                        <group name=\\"sale_info\\">\\n                            <field name=\\"active\\" invisible=\\"1\\"/>\\n                            <label for=\\"number_of_days\\" string=\\"Quotation Validity\\"/>\\n                            <div id=\\"number_of_days\\">\\n                                <field name=\\"number_of_days\\" style=\\"width: 3rem;\\"/>\\n                                <div class=\\"d-inline-block\\">days</div>\\n                            </div>\\n                            <field name=\\"mail_template_id\\" context=\\"{'default_model': 'sale.order'}\\"/>\\n                            <field name=\\"company_id\\" options=\\"{'no_create': True}\\" groups=\\"base.group_multi_company\\" placeholder=\\"Visible to all\\"/>\\n                            <field name=\\"journal_id\\"/>\\n                        </group>\\n                        <group name=\\"so_confirmation\\">\\n                            <field name=\\"require_signature\\"/>\\n                            <label for=\\"require_payment\\"/>\\n                            <div id=\\"require_payment\\" class=\\"o_row\\">\\n                                <field name=\\"require_payment\\" class=\\"oe_inline\\"/>\\n                                <span invisible=\\"not require_payment\\">of</span>\\n                                <field name=\\"prepayment_percent\\" invisible=\\"not require_payment\\" widget=\\"percentage\\" class=\\"oe_inline\\"/>\\n                            </div>\\n                        </group>\\n                    </group>\\n                    <notebook name=\\"main_book\\">\\n                        <page string=\\"Lines\\" name=\\"order_lines\\">\\n                        <field name=\\"sale_order_template_line_ids\\" widget=\\"section_and_note_one2many\\">\\n                            <form string=\\"Quotation Template Lines\\">\\n                                <!--\\n                                    We need the sequence field to be here for new lines to be added at the correct position.\\n                                    TODO: at some point we want to fix this in the framework so that an invisible field is not required.\\n                                -->\\n                                <field name=\\"sequence\\" invisible=\\"1\\"/>\\n                                <field name=\\"display_type\\" invisible=\\"1\\"/>\\n                                <group invisible=\\"display_type\\">\\n                                    <group>\\n                                        <field name=\\"product_id\\" required=\\"not display_type\\"/>\\n                                        <label for=\\"product_uom_qty\\"/>\\n                                        <div>\\n                                            <field name=\\"product_uom_qty\\" class=\\"oe_inline\\"/>\\n                                        </div>\\n                                    </group>\\n                                </group>\\n                                <notebook colspan=\\"4\\" name=\\"description\\">\\n                                    <page string=\\"Description\\" name=\\"order_description\\" invisible=\\"display_type\\">\\n                                        <field name=\\"name\\"/>\\n                                    </page>\\n                                    <page string=\\"Section\\" name=\\"order_section\\" invisible=\\"display_type != 'line_section'\\">\\n                                        <field name=\\"name\\"/>\\n                                    </page>\\n                                    <page string=\\"Note\\" name=\\"order_note\\" invisible=\\"display_type != 'line_note'\\">\\n                                        <field name=\\"name\\"/>\\n                                    </page>\\n                                </notebook>\\n                            </form>\\n                            <list string=\\"Quotation Template Lines\\" editable=\\"bottom\\">\\n                                <control>\\n                                    <create name=\\"add_product_control\\" string=\\"Add a product\\"/>\\n                                    <create name=\\"add_section_control\\" string=\\"Add a section\\" context=\\"{'default_display_type': 'line_section'}\\"/>\\n                                    <create name=\\"add_note_control\\" string=\\"Add a note\\" context=\\"{'default_display_type': 'line_note'}\\"/>\\n                                </control>\\n                                <field name=\\"display_type\\" column_invisible=\\"True\\"/>\\n                                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                                <field name=\\"product_id\\"/>\\n                                <field name=\\"name\\"/>\\n                                <field name=\\"product_uom_qty\\"/>\\n                                <field name=\\"product_uom_id\\" groups=\\"uom.group_uom\\" required=\\"not display_type\\"/>\\n                            </list>\\n                        </field>\\n                    </page>\\n                    <page string=\\"Optional Products\\" name=\\"optional_products\\">\\n                        <field name=\\"sale_order_template_option_ids\\">\\n                            <list string=\\"Quotation Template Lines\\" editable=\\"bottom\\">\\n                                <field name=\\"product_id\\"/>\\n                                <field name=\\"name\\"/>\\n                                <field name=\\"quantity\\"/>\\n                                <field name=\\"uom_id\\" widget=\\"many2one_uom\\" groups=\\"uom.group_uom\\"/>\\n                            </list>\\n                        </field>\\n                    </page>\\n                        <page string=\\"Terms &amp; Conditions\\" name=\\"terms_and_conditions\\">\\n                            <field name=\\"note\\" nolabel=\\"1\\" placeholder=\\"The Administrator can set default Terms &amp; Conditions in Sales Settings. Terms set here will show up instead if you select this quotation template.\\"/>\\n                        </page>\\n                    </notebook>\\n                </sheet>\\n            </form>", "fr_FR": "<form string=\\"Modèle de devis\\">\\n                <sheet>\\n                    <div name=\\"button_box\\" class=\\"oe_button_box\\"/>\\n                    <widget name=\\"web_ribbon\\" title=\\"Archivé\\" bg_color=\\"text-bg-danger\\" invisible=\\"active\\"/>\\n                    <div class=\\"oe_title\\" name=\\"sale_order_template_title\\">\\n                        <label for=\\"name\\" id=\\"sale_order_template_title\\"/>\\n                        <h1>\\n                            <field name=\\"name\\" placeholder=\\"par ex. Pack de consultance standard\\" class=\\"d-block\\"/>\\n                        </h1>\\n                    </div>\\n                    <group>\\n                        <group name=\\"sale_info\\">\\n                            <field name=\\"active\\" invisible=\\"1\\"/>\\n                            <label for=\\"number_of_days\\" string=\\"Validité du devis\\"/>\\n                            <div id=\\"number_of_days\\">\\n                                <field name=\\"number_of_days\\" style=\\"width: 3rem;\\"/>\\n                                <div class=\\"d-inline-block\\">jours</div>\\n                            </div>\\n                            <field name=\\"mail_template_id\\" context=\\"{'default_model': 'sale.order'}\\"/>\\n                            <field name=\\"company_id\\" options=\\"{'no_create': True}\\" groups=\\"base.group_multi_company\\" placeholder=\\"Visible pour tous\\"/>\\n                            <field name=\\"journal_id\\"/>\\n                        </group>\\n                        <group name=\\"so_confirmation\\">\\n                            <field name=\\"require_signature\\"/>\\n                            <label for=\\"require_payment\\"/>\\n                            <div id=\\"require_payment\\" class=\\"o_row\\">\\n                                <field name=\\"require_payment\\" class=\\"oe_inline\\"/>\\n                                <span invisible=\\"not require_payment\\">de</span>\\n                                <field name=\\"prepayment_percent\\" invisible=\\"not require_payment\\" widget=\\"percentage\\" class=\\"oe_inline\\"/>\\n                            </div>\\n                        </group>\\n                    </group>\\n                    <notebook name=\\"main_book\\">\\n                        <page string=\\"Lignes\\" name=\\"order_lines\\">\\n                        <field name=\\"sale_order_template_line_ids\\" widget=\\"section_and_note_one2many\\">\\n                            <form string=\\"Lignes du modèle de devis\\">\\n                                <!--\\n                                    We need the sequence field to be here for new lines to be added at the correct position.\\n                                    TODO: at some point we want to fix this in the framework so that an invisible field is not required.\\n                                -->\\n                                <field name=\\"sequence\\" invisible=\\"1\\"/>\\n                                <field name=\\"display_type\\" invisible=\\"1\\"/>\\n                                <group invisible=\\"display_type\\">\\n                                    <group>\\n                                        <field name=\\"product_id\\" required=\\"not display_type\\"/>\\n                                        <label for=\\"product_uom_qty\\"/>\\n                                        <div>\\n                                            <field name=\\"product_uom_qty\\" class=\\"oe_inline\\"/>\\n                                        </div>\\n                                    </group>\\n                                </group>\\n                                <notebook colspan=\\"4\\" name=\\"description\\">\\n                                    <page string=\\"Description\\" name=\\"order_description\\" invisible=\\"display_type\\">\\n                                        <field name=\\"name\\"/>\\n                                    </page>\\n                                    <page string=\\"Section\\" name=\\"order_section\\" invisible=\\"display_type != 'line_section'\\">\\n                                        <field name=\\"name\\"/>\\n                                    </page>\\n                                    <page string=\\"Note\\" name=\\"order_note\\" invisible=\\"display_type != 'line_note'\\">\\n                                        <field name=\\"name\\"/>\\n                                    </page>\\n                                </notebook>\\n                            </form>\\n                            <list string=\\"Lignes du modèle de devis\\" editable=\\"bottom\\">\\n                                <control>\\n                                    <create name=\\"add_product_control\\" string=\\"Ajouter un produit\\"/>\\n                                    <create name=\\"add_section_control\\" string=\\"Ajouter une section\\" context=\\"{'default_display_type': 'line_section'}\\"/>\\n                                    <create name=\\"add_note_control\\" string=\\"Ajouter une note\\" context=\\"{'default_display_type': 'line_note'}\\"/>\\n                                </control>\\n                                <field name=\\"display_type\\" column_invisible=\\"True\\"/>\\n                                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                                <field name=\\"product_id\\"/>\\n                                <field name=\\"name\\"/>\\n                                <field name=\\"product_uom_qty\\"/>\\n                                <field name=\\"product_uom_id\\" groups=\\"uom.group_uom\\" required=\\"not display_type\\"/>\\n                            </list>\\n                        </field>\\n                    </page>\\n                    <page string=\\"Produits optionnels\\" name=\\"optional_products\\">\\n                        <field name=\\"sale_order_template_option_ids\\">\\n                            <list string=\\"Lignes du modèle de devis\\" editable=\\"bottom\\">\\n                                <field name=\\"product_id\\"/>\\n                                <field name=\\"name\\"/>\\n                                <field name=\\"quantity\\"/>\\n                                <field name=\\"uom_id\\" widget=\\"many2one_uom\\" groups=\\"uom.group_uom\\"/>\\n                            </list>\\n                        </field>\\n                    </page>\\n                        <page string=\\"Conditions générales\\" name=\\"terms_and_conditions\\">\\n                            <field name=\\"note\\" nolabel=\\"1\\" placeholder=\\"L'administrateur peut configurer les conditions générales par défaut dans les paramètres de vente. Les conditions définies sur cette page s'afficheront si vous sélectionnez ce modèle de devis.\\"/>\\n                        </page>\\n                    </notebook>\\n                </sheet>\\n            </form>"}	<?xml version="1.0"?>\n<form string="Quotation Template">\n                <sheet>\n                    <div name="button_box" class="oe_button_box"/>\n                    <widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>\n                    <div class="oe_title" name="sale_order_template_title">\n                        <label for="name" id="sale_order_template_title"/>\n                        <h1>\n                            <field name="name" placeholder="e.g. Standard Consultancy Package" class="d-block"/>\n                        </h1>\n                    </div>\n                    <group>\n                        <group name="sale_info">\n                            <field name="active" invisible="1"/>\n                            <label for="number_of_days" string="Quotation Validity"/>\n                            <div id="number_of_days">\n                                <field name="number_of_days" style="width: 3rem;"/>\n                                <div class="d-inline-block">days</div>\n                            </div>\n                            <field name="mail_template_id" context="{'default_model': 'sale.order'}"/>\n                            <field name="company_id" options="{'no_create': True}" groups="base.group_multi_company" placeholder="Visible to all"/>\n                            <field name="journal_id"/>\n                        </group>\n                        <group name="so_confirmation">\n                            <field name="require_signature"/>\n                            <label for="require_payment"/>\n                            <div id="require_payment" class="o_row">\n                                <field name="require_payment" class="oe_inline"/>\n                                <span invisible="not require_payment">of</span>\n                                <field name="prepayment_percent" invisible="not require_payment" widget="percentage" class="oe_inline"/>\n                            </div>\n                        </group>\n                    </group>\n                    <notebook name="main_book">\n                        <page string="Lines" name="order_lines">\n                        <field name="sale_order_template_line_ids" widget="section_and_note_one2many">\n                            <form string="Quotation Template Lines">\n                                <!--\n                                    We need the sequence field to be here for new lines to be added at the correct position.\n                                    TODO: at some point we want to fix this in the framework so that an invisible field is not required.\n                                -->\n                                <field name="sequence" invisible="1"/>\n                                <field name="display_type" invisible="1"/>\n                                <group invisible="display_type">\n                                    <group>\n                                        <field name="product_id" required="not display_type"/>\n                                        <label for="product_uom_qty"/>\n                                        <div>\n                                            <field name="product_uom_qty" class="oe_inline"/>\n                                        </div>\n                                    </group>\n                                </group>\n                                <notebook colspan="4" name="description">\n                                    <page string="Description" name="order_description" invisible="display_type">\n                                        <field name="name"/>\n                                    </page>\n                                    <page string="Section" name="order_section" invisible="display_type != 'line_section'">\n                                        <field name="name"/>\n                                    </page>\n                                    <page string="Note" name="order_note" invisible="display_type != 'line_note'">\n                                        <field name="name"/>\n                                    </page>\n                                </notebook>\n                            </form>\n                            <list string="Quotation Template Lines" editable="bottom">\n                                <control>\n                                    <create name="add_product_control" string="Add a product"/>\n                                    <create name="add_section_control" string="Add a section" context="{'default_display_type': 'line_section'}"/>\n                                    <create name="add_note_control" string="Add a note" context="{'default_display_type': 'line_note'}"/>\n                                </control>\n                                <field name="display_type" column_invisible="True"/>\n                                <field name="sequence" widget="handle"/>\n                                <field name="product_id"/>\n                                <field name="name"/>\n                                <field name="product_uom_qty"/>\n                                <field name="product_uom_id" groups="uom.group_uom" required="not display_type"/>\n                            </list>\n                        </field>\n                    </page>\n                    <page string="Optional Products" name="optional_products">\n                        <field name="sale_order_template_option_ids">\n                            <list string="Quotation Template Lines" editable="bottom">\n                                <field name="product_id"/>\n                                <field name="name"/>\n                                <field name="quantity"/>\n                                <field name="uom_id" widget="many2one_uom" groups="uom.group_uom"/>\n                            </list>\n                        </field>\n                    </page>\n                        <page string="Terms &amp; Conditions" name="terms_and_conditions">\n                            <field name="note" nolabel="1" placeholder="The Administrator can set default Terms &amp; Conditions in Sales Settings. Terms set here will show up instead if you select this quotation template."/>\n                        </page>\n                    </notebook>\n                </sheet>\n            </form>\n        	f	t	2025-07-20 21:22:18.348671	2025-07-20 21:22:18.348671	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2296	10	539	1	1	digest.digest.view.form.inherit.sale_management	digest.digest	\N	form	sale_management/views/digest_views.xml	extension	{"en_US": "<data><group name=\\"kpi_sales\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Sales</attribute>\\n                <attribute name=\\"groups\\">sales_team.group_sale_salesman_all_leads</attribute>\\n            </group>\\n            <group name=\\"kpi_sales\\" position=\\"inside\\">\\n                <field name=\\"kpi_all_sale_total\\"/>\\n            </group>\\n        </data>", "fr_FR": "<data><group name=\\"kpi_sales\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Ventes</attribute>\\n                <attribute name=\\"groups\\">sales_team.group_sale_salesman_all_leads</attribute>\\n            </group>\\n            <group name=\\"kpi_sales\\" position=\\"inside\\">\\n                <field name=\\"kpi_all_sale_total\\"/>\\n            </group>\\n        </data>"}	<?xml version="1.0"?>\n<data><group name="kpi_sales" position="attributes">\n                <attribute name="string">Sales</attribute>\n                <attribute name="groups">sales_team.group_sale_salesman_all_leads</attribute>\n            </group>\n            <group name="kpi_sales" position="inside">\n                <field name="kpi_all_sale_total"/>\n            </group>\n        </data>	f	t	2025-07-20 21:22:18.348671	2025-07-20 21:22:18.348671	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2292	16	2033	1	1	report_saleorder_document_inherit_sale_management	\N	sale_management.report_saleorder_document_inherit_sale_management	qweb	sale_management/report/sale_report_templates.xml	extension	{"en_US": "<data inherit_id=\\"sale.report_saleorder_document\\">\\n    <xpath expr=\\"//div[@name='signature']\\" position=\\"after\\">\\n        <div t-if=\\"(                 not doc.sale_order_option_ids                 or doc.state not in ['draft', 'sent']                 or not any(not option.is_present for option in doc.sale_order_option_ids)             )\\" class=\\"oe_structure\\">\\n            ​\\n        </div>\\n        <div t-else=\\"\\">\\n            <t t-set=\\"has_option_discount\\" t-value=\\"any(option.discount != 0.0 for option in doc.sale_order_option_ids)\\"/>\\n            <h4 name=\\"h_optional_products\\">\\n                <span>Options</span>\\n            </h4>\\n            <table name=\\"table_optional_products\\" class=\\"table table-sm\\">\\n                <thead class=\\"fw-bold\\" style=\\"display: table-row-group;\\">\\n                    <tr>\\n                        <td name=\\"th_option_name\\" class=\\"text-start\\">Description</td>\\n                        <td t-if=\\"has_option_discount\\" name=\\"th_option_discount\\" class=\\"text-start\\">Disc.%</td>\\n                        <td name=\\"th_option_price_unit\\" class=\\"text-end\\">Unit Price</td>\\n                    </tr>\\n                </thead>\\n                <tbody class=\\"sale_tbody\\">\\n                    <tr t-foreach=\\"doc.sale_order_option_ids\\" t-as=\\"option\\" t-if=\\"not option.is_present\\">\\n                        <td name=\\"td_option_name\\">\\n                            <span t-field=\\"option.name\\">Extra Chips</span>\\n                        </td>\\n                        <td t-if=\\"has_option_discount\\" name=\\"td_option_discount\\">\\n                            <strong t-if=\\"option.discount != 0.0\\" class=\\"text-info\\">\\n                                <t t-out=\\"((option.discount % 1) and '%s' or '%d') % option.discount\\">-</t>%\\n                            </strong>\\n                        </td>\\n                        <td name=\\"td_option_price_unit\\">\\n                            <strong class=\\"text-end\\">\\n                                <div t-field=\\"option.price_unit\\" t-options=\\"{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: doc.currency_id}\\" t-att-style=\\"option.discount and 'text-decoration: line-through' or None\\" t-att-class=\\"option.discount and 'text-danger' or None\\">1.5</div>\\n                                <div t-if=\\"option.discount\\">\\n                                    <t t-out=\\"((1-option.discount / 100.0) * option.price_unit)\\" t-options=\\"{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: doc.currency_id}\\"> </t>\\n                                </div>\\n                            </strong>\\n                        </td>\\n                    </tr>\\n                </tbody>\\n            </table>\\n            <div class=\\"oe_structure\\">​</div>\\n        </div>\\n    </xpath>\\n</data>", "fr_FR": "<data inherit_id=\\"sale.report_saleorder_document\\">\\n    <xpath expr=\\"//div[@name='signature']\\" position=\\"after\\">\\n        <div t-if=\\"(                 not doc.sale_order_option_ids                 or doc.state not in ['draft', 'sent']                 or not any(not option.is_present for option in doc.sale_order_option_ids)             )\\" class=\\"oe_structure\\">\\n            ​\\n        </div>\\n        <div t-else=\\"\\">\\n            <t t-set=\\"has_option_discount\\" t-value=\\"any(option.discount != 0.0 for option in doc.sale_order_option_ids)\\"/>\\n            <h4 name=\\"h_optional_products\\">\\n                <span>Options</span>\\n            </h4>\\n            <table name=\\"table_optional_products\\" class=\\"table table-sm\\">\\n                <thead class=\\"fw-bold\\" style=\\"display: table-row-group;\\">\\n                    <tr>\\n                        <td name=\\"th_option_name\\" class=\\"text-start\\">Description</td>\\n                        <td t-if=\\"has_option_discount\\" name=\\"th_option_discount\\" class=\\"text-start\\">Rem.%</td>\\n                        <td name=\\"th_option_price_unit\\" class=\\"text-end\\">Prix unitaire</td>\\n                    </tr>\\n                </thead>\\n                <tbody class=\\"sale_tbody\\">\\n                    <tr t-foreach=\\"doc.sale_order_option_ids\\" t-as=\\"option\\" t-if=\\"not option.is_present\\">\\n                        <td name=\\"td_option_name\\">\\n                            <span t-field=\\"option.name\\">Chips en supplément</span>\\n                        </td>\\n                        <td t-if=\\"has_option_discount\\" name=\\"td_option_discount\\">\\n                            <strong t-if=\\"option.discount != 0.0\\" class=\\"text-info\\">\\n                                <t t-out=\\"((option.discount % 1) and '%s' or '%d') % option.discount\\">-</t>%\\n                            </strong>\\n                        </td>\\n                        <td name=\\"td_option_price_unit\\">\\n                            <strong class=\\"text-end\\">\\n                                <div t-field=\\"option.price_unit\\" t-options=\\"{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: doc.currency_id}\\" t-att-style=\\"option.discount and 'text-decoration: line-through' or None\\" t-att-class=\\"option.discount and 'text-danger' or None\\">1,5</div>\\n                                <div t-if=\\"option.discount\\">\\n                                    <t t-out=\\"((1-option.discount / 100.0) * option.price_unit)\\" t-options=\\"{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: doc.currency_id}\\"> </t>\\n                                </div>\\n                            </strong>\\n                        </td>\\n                    </tr>\\n                </tbody>\\n            </table>\\n            <div class=\\"oe_structure\\">​</div>\\n        </div>\\n    </xpath>\\n</data>"}	<?xml version="1.0"?>\n<data inherit_id="sale.report_saleorder_document">\n    <xpath expr="//div[@name='signature']" position="after">\n        <div t-if="(                 not doc.sale_order_option_ids                 or doc.state not in ['draft', 'sent']                 or not any(not option.is_present for option in doc.sale_order_option_ids)             )" class="oe_structure">\n            ​\n        </div>\n        <div t-else="">\n            <t t-set="has_option_discount" t-value="any(option.discount != 0.0 for option in doc.sale_order_option_ids)"/>\n            <h4 name="h_optional_products">\n                <span>Options</span>\n            </h4>\n            <table name="table_optional_products" class="table table-sm">\n                <thead class="fw-bold" style="display: table-row-group;">\n                    <tr>\n                        <td name="th_option_name" class="text-start">Description</td>\n                        <td t-if="has_option_discount" name="th_option_discount" class="text-start">Disc.%</td>\n                        <td name="th_option_price_unit" class="text-end">Unit Price</td>\n                    </tr>\n                </thead>\n                <tbody class="sale_tbody">\n                    <tr t-foreach="doc.sale_order_option_ids" t-as="option" t-if="not option.is_present">\n                        <td name="td_option_name">\n                            <span t-field="option.name">Extra Chips</span>\n                        </td>\n                        <td t-if="has_option_discount" name="td_option_discount">\n                            <strong t-if="option.discount != 0.0" class="text-info">\n                                <t t-out="((option.discount % 1) and '%s' or '%d') % option.discount">-</t>%\n                            </strong>\n                        </td>\n                        <td name="td_option_price_unit">\n                            <strong class="text-end">\n                                <div t-field="option.price_unit" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: doc.currency_id}" t-att-style="option.discount and 'text-decoration: line-through' or None" t-att-class="option.discount and 'text-danger' or None">1.5</div>\n                                <div t-if="option.discount">\n                                    <t t-out="((1-option.discount / 100.0) * option.price_unit)" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: doc.currency_id}"> </t>\n                                </div>\n                            </strong>\n                        </td>\n                    </tr>\n                </tbody>\n            </table>\n            <div class="oe_structure">​</div>\n        </div>\n    </xpath>\n</data>\n	f	t	2025-07-20 21:22:18.348671	2025-07-20 21:22:18.348671	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2297	16	2047	1	1	res.config.settings.view.form.inherit.sale.management	res.config.settings	\N	form	sale_management/views/res_config_settings_views.xml	extension	{"en_US": "<data><setting id=\\"online_signature\\" position=\\"after\\">\\n                <setting id=\\"standardized_offers_setting\\" company_dependent=\\"1\\" documentation=\\"/applications/sales/sales/send_quotations/quote_template.html\\" help=\\"Create standardized offers with default products\\">\\n                    <field name=\\"group_sale_order_template\\"/>\\n                    <div class=\\"content-group\\" invisible=\\"not group_sale_order_template\\">\\n                        <div class=\\"mt16\\">\\n                            <label for=\\"company_so_template_id\\" class=\\"o_light_label mr8\\"/>\\n                            <field name=\\"company_so_template_id\\" class=\\"oe_inline\\"/>\\n                        </div>\\n                        <div class=\\"mt8\\">\\n                            <button name=\\"476\\" icon=\\"oi-arrow-right\\" type=\\"action\\" string=\\"Quotation Templates\\" class=\\"btn-link\\"/>\\n                        </div>\\n                    </div>\\n                </setting>\\n            </setting>\\n            <app name=\\"sale_management\\" position=\\"attributes\\">\\n                <attribute name=\\"notApp\\">0</attribute>\\n            </app>\\n        </data>", "fr_FR": "<data><setting id=\\"online_signature\\" position=\\"after\\">\\n                <setting id=\\"standardized_offers_setting\\" company_dependent=\\"1\\" documentation=\\"/applications/sales/sales/send_quotations/quote_template.html\\" help=\\"Créer des offres standardisées avec des produits par défaut\\">\\n                    <field name=\\"group_sale_order_template\\"/>\\n                    <div class=\\"content-group\\" invisible=\\"not group_sale_order_template\\">\\n                        <div class=\\"mt16\\">\\n                            <label for=\\"company_so_template_id\\" class=\\"o_light_label mr8\\"/>\\n                            <field name=\\"company_so_template_id\\" class=\\"oe_inline\\"/>\\n                        </div>\\n                        <div class=\\"mt8\\">\\n                            <button name=\\"476\\" icon=\\"oi-arrow-right\\" type=\\"action\\" string=\\"Modèles de devis\\" class=\\"btn-link\\"/>\\n                        </div>\\n                    </div>\\n                </setting>\\n            </setting>\\n            <app name=\\"sale_management\\" position=\\"attributes\\">\\n                <attribute name=\\"notApp\\">0</attribute>\\n            </app>\\n        </data>"}	<?xml version="1.0"?>\n<data><setting id="online_signature" position="after">\n                <setting id="standardized_offers_setting" company_dependent="1" documentation="/applications/sales/sales/send_quotations/quote_template.html" help="Create standardized offers with default products">\n                    <field name="group_sale_order_template"/>\n                    <div class="content-group" invisible="not group_sale_order_template">\n                        <div class="mt16">\n                            <label for="company_so_template_id" class="o_light_label mr8"/>\n                            <field name="company_so_template_id" class="oe_inline"/>\n                        </div>\n                        <div class="mt8">\n                            <button name="476" icon="oi-arrow-right" type="action" string="Quotation Templates" class="btn-link"/>\n                        </div>\n                    </div>\n                </setting>\n            </setting>\n            <app name="sale_management" position="attributes">\n                <attribute name="notApp">0</attribute>\n            </app>\n        </data>	f	t	2025-07-20 21:22:18.348671	2025-07-20 21:22:18.348671	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2298	16	2063	1	1	sale.order.form.inherit.sale_management	sale.order	\N	form	sale_management/views/sale_order_views.xml	extension	{"en_US": "<data><page name=\\"order_lines\\" position=\\"after\\">\\n                <page string=\\"Optional Products\\" name=\\"optional_products\\" invisible=\\"state not in ['draft', 'sent']\\">\\n                    <field name=\\"sale_order_option_ids\\" mode=\\"list,kanban\\" readonly=\\"state in ['cancel', 'sale']\\">\\n                        <form string=\\"Optional Products\\">\\n                            <group>\\n                                <field name=\\"product_id\\"/>\\n                                <field name=\\"name\\"/>\\n                                <field name=\\"quantity\\"/>\\n                                <field name=\\"uom_id\\" widget=\\"many2one_uom\\" groups=\\"uom.group_uom\\"/>\\n                                <field name=\\"price_unit\\"/>\\n                                <field name=\\"discount\\" groups=\\"sale.group_discount_per_so_line\\"/>\\n                                <field name=\\"is_present\\"/>\\n                                <field name=\\"company_id\\" invisible=\\"1\\"/>\\n                            </group>\\n                        </form>\\n                        <kanban class=\\"o_kanban_mobile\\">\\n                            <field name=\\"is_present\\"/>\\n                            <templates>\\n                                <t t-name=\\"card\\">\\n                                    <div class=\\"row\\">\\n                                        <field name=\\"product_id\\" class=\\"col-10 fw-bolder\\"/>\\n                                        <button name=\\"button_add_to_order\\" class=\\"col-2 btn btn-link oe_link fa fa-shopping-cart\\" title=\\"Add to order lines\\" type=\\"object\\" invisible=\\"is_present\\"/>\\n                                    </div>\\n                                    <div class=\\"text-muted\\">\\n                                        Quantity:\\n                                        <field name=\\"quantity\\"/>\\n                                        <field name=\\"uom_id\\" widget=\\"many2one_uom\\" groups=\\"uom.group_uom\\"/>\\n                                    </div>\\n                                    <div class=\\"text-muted\\">\\n                                        Unit Price:\\n                                        <field name=\\"price_unit\\"/>\\n                                    </div>\\n                                </t>\\n                            </templates>\\n                        </kanban>\\n                        <list string=\\"Sales Quotation Template Lines\\" editable=\\"bottom\\" decoration-success=\\"is_present == True\\">\\n                            <control>\\n                                <create name=\\"add_product_control\\" string=\\"Add a product\\"/>\\n                            </control>\\n                            <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                            <field name=\\"product_id\\"/>\\n                            <field name=\\"name\\" optional=\\"show\\"/>\\n                            <field name=\\"quantity\\"/>\\n                            <field name=\\"uom_id\\" widget=\\"many2one_uom\\" groups=\\"uom.group_uom\\" optional=\\"show\\"/>\\n                            <field name=\\"price_unit\\"/>\\n                            <field name=\\"discount\\" width=\\"50px\\" string=\\"Disc.%\\" groups=\\"sale.group_discount_per_so_line\\" optional=\\"show\\"/>\\n                            <button name=\\"button_add_to_order\\" type=\\"object\\" class=\\"oe_link\\" icon=\\"fa-shopping-cart\\" title=\\"Add to order lines\\" invisible=\\"is_present\\"/>\\n                        </list>\\n                    </field>\\n                </page>\\n            </page>\\n\\n            <field name=\\"partner_shipping_id\\" position=\\"after\\">\\n                <field name=\\"sale_order_template_id\\" options=\\"{'no_create': True}\\" readonly=\\"state in ['cancel', 'sale']\\" groups=\\"sale_management.group_sale_order_template\\"/>\\n            </field>\\n        </data>", "fr_FR": "<data><page name=\\"order_lines\\" position=\\"after\\">\\n                <page string=\\"Produits optionnels\\" name=\\"optional_products\\" invisible=\\"state not in ['draft', 'sent']\\">\\n                    <field name=\\"sale_order_option_ids\\" mode=\\"list,kanban\\" readonly=\\"state in ['cancel', 'sale']\\">\\n                        <form string=\\"Produits optionnels\\">\\n                            <group>\\n                                <field name=\\"product_id\\"/>\\n                                <field name=\\"name\\"/>\\n                                <field name=\\"quantity\\"/>\\n                                <field name=\\"uom_id\\" widget=\\"many2one_uom\\" groups=\\"uom.group_uom\\"/>\\n                                <field name=\\"price_unit\\"/>\\n                                <field name=\\"discount\\" groups=\\"sale.group_discount_per_so_line\\"/>\\n                                <field name=\\"is_present\\"/>\\n                                <field name=\\"company_id\\" invisible=\\"1\\"/>\\n                            </group>\\n                        </form>\\n                        <kanban class=\\"o_kanban_mobile\\">\\n                            <field name=\\"is_present\\"/>\\n                            <templates>\\n                                <t t-name=\\"card\\">\\n                                    <div class=\\"row\\">\\n                                        <field name=\\"product_id\\" class=\\"col-10 fw-bolder\\"/>\\n                                        <button name=\\"button_add_to_order\\" class=\\"col-2 btn btn-link oe_link fa fa-shopping-cart\\" title=\\"Ajouter aux lignes de commande\\" type=\\"object\\" invisible=\\"is_present\\"/>\\n                                    </div>\\n                                    <div class=\\"text-muted\\">\\n                                        Quantité :\\n                                        <field name=\\"quantity\\"/>\\n                                        <field name=\\"uom_id\\" widget=\\"many2one_uom\\" groups=\\"uom.group_uom\\"/>\\n                                    </div>\\n                                    <div class=\\"text-muted\\">\\n                                        Prix unitaire :\\n                                        <field name=\\"price_unit\\"/>\\n                                    </div>\\n                                </t>\\n                            </templates>\\n                        </kanban>\\n                        <list string=\\"Lignes du modèle de devis\\" editable=\\"bottom\\" decoration-success=\\"is_present == True\\">\\n                            <control>\\n                                <create name=\\"add_product_control\\" string=\\"Ajouter un produit\\"/>\\n                            </control>\\n                            <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                            <field name=\\"product_id\\"/>\\n                            <field name=\\"name\\" optional=\\"show\\"/>\\n                            <field name=\\"quantity\\"/>\\n                            <field name=\\"uom_id\\" widget=\\"many2one_uom\\" groups=\\"uom.group_uom\\" optional=\\"show\\"/>\\n                            <field name=\\"price_unit\\"/>\\n                            <field name=\\"discount\\" width=\\"50px\\" string=\\"Rem.%\\" groups=\\"sale.group_discount_per_so_line\\" optional=\\"show\\"/>\\n                            <button name=\\"button_add_to_order\\" type=\\"object\\" class=\\"oe_link\\" icon=\\"fa-shopping-cart\\" title=\\"Ajouter aux lignes de commande\\" invisible=\\"is_present\\"/>\\n                        </list>\\n                    </field>\\n                </page>\\n            </page>\\n\\n            <field name=\\"partner_shipping_id\\" position=\\"after\\">\\n                <field name=\\"sale_order_template_id\\" options=\\"{'no_create': True}\\" readonly=\\"state in ['cancel', 'sale']\\" groups=\\"sale_management.group_sale_order_template\\"/>\\n            </field>\\n        </data>"}	<?xml version="1.0"?>\n<data><page name="order_lines" position="after">\n                <page string="Optional Products" name="optional_products" invisible="state not in ['draft', 'sent']">\n                    <field name="sale_order_option_ids" mode="list,kanban" readonly="state in ['cancel', 'sale']">\n                        <form string="Optional Products">\n                            <group>\n                                <field name="product_id"/>\n                                <field name="name"/>\n                                <field name="quantity"/>\n                                <field name="uom_id" widget="many2one_uom" groups="uom.group_uom"/>\n                                <field name="price_unit"/>\n                                <field name="discount" groups="sale.group_discount_per_so_line"/>\n                                <field name="is_present"/>\n                                <field name="company_id" invisible="1"/>\n                            </group>\n                        </form>\n                        <kanban class="o_kanban_mobile">\n                            <field name="is_present"/>\n                            <templates>\n                                <t t-name="card">\n                                    <div class="row">\n                                        <field name="product_id" class="col-10 fw-bolder"/>\n                                        <button name="button_add_to_order" class="col-2 btn btn-link oe_link fa fa-shopping-cart" title="Add to order lines" type="object" invisible="is_present"/>\n                                    </div>\n                                    <div class="text-muted">\n                                        Quantity:\n                                        <field name="quantity"/>\n                                        <field name="uom_id" widget="many2one_uom" groups="uom.group_uom"/>\n                                    </div>\n                                    <div class="text-muted">\n                                        Unit Price:\n                                        <field name="price_unit"/>\n                                    </div>\n                                </t>\n                            </templates>\n                        </kanban>\n                        <list string="Sales Quotation Template Lines" editable="bottom" decoration-success="is_present == True">\n                            <control>\n                                <create name="add_product_control" string="Add a product"/>\n                            </control>\n                            <field name="sequence" widget="handle"/>\n                            <field name="product_id"/>\n                            <field name="name" optional="show"/>\n                            <field name="quantity"/>\n                            <field name="uom_id" widget="many2one_uom" groups="uom.group_uom" optional="show"/>\n                            <field name="price_unit"/>\n                            <field name="discount" width="50px" string="Disc.%" groups="sale.group_discount_per_so_line" optional="show"/>\n                            <button name="button_add_to_order" type="object" class="oe_link" icon="fa-shopping-cart" title="Add to order lines" invisible="is_present"/>\n                        </list>\n                    </field>\n                </page>\n            </page>\n\n            <field name="partner_shipping_id" position="after">\n                <field name="sale_order_template_id" options="{'no_create': True}" readonly="state in ['cancel', 'sale']" groups="sale_management.group_sale_order_template"/>\n            </field>\n        </data>	f	t	2025-07-20 21:22:18.348671	2025-07-20 21:22:18.348671	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2299	16	2100	1	1	Order Options	\N	sale_management.sale_order_portal_content_inherit_sale_management	qweb	sale_management/views/sale_portal_templates.xml	extension	{"en_US": "<data name=\\"Order Options\\" inherit_id=\\"sale.sale_order_portal_content\\">\\n\\n        <xpath expr=\\"//section[@id='details']//t[@t-set='display_discount']\\" position=\\"after\\">\\n            <t t-set=\\"display_remove\\" t-value=\\"sale_order._can_be_edited_on_portal() and any(line._can_be_edited_on_portal() for line in sale_order.order_line)\\"/>\\n        </xpath>\\n\\n        <xpath expr=\\"//section[@id='details']//table[@id='sales_order_table']/thead/tr\\" position=\\"inside\\">\\n            <!-- add blank Tr in thead for layout conciseness -->\\n            <th t-if=\\"display_remove\\">\\n            </th>\\n        </xpath>\\n\\n        <xpath expr=\\"//section[@id='details']//t[@name='product_line_row']\\" position=\\"inside\\">\\n            <td class=\\"text-center\\" t-if=\\"display_remove\\">\\n                <a t-if=\\"line._can_be_edited_on_portal()\\" t-att-data-line-id=\\"line.id\\" t-att-data-unlink=\\"True\\" href=\\"#\\" class=\\"mb8 js_update_line_json d-print-none\\" aria-label=\\"Remove\\" title=\\"Remove\\">\\n                    <span class=\\"fa fa-trash-o\\"/>\\n                </a>\\n            </td>\\n        </xpath>\\n\\n        <xpath expr=\\"//section[@id='signature']\\" position=\\"after\\">\\n            <t t-if=\\"sale_order._can_be_edited_on_portal() and any((not option.is_present) for option in sale_order.sale_order_option_ids)\\">\\n                <section>\\n                    <h3>Options</h3>\\n                    <t t-set=\\"display_discount\\" t-value=\\"True in [option.discount &gt; 0 for option in sale_order.sale_order_option_ids]\\"/>\\n                    <table class=\\"table table-sm\\" name=\\"sale_order_options_table\\">\\n                        <thead>\\n                            <tr>\\n                                <th class=\\"text-start\\" name=\\"th_option_product_name\\">Product</th>\\n                                <th t-if=\\"display_discount\\" class=\\"text-end\\" name=\\"th_option_discount\\">Disc.%\\n                                </th>\\n                                <th class=\\"text-end\\" name=\\"th_option_unit_price\\">Unit Price</th>\\n                                <th t-if=\\"sale_order._can_be_edited_on_portal() and report_type == 'html'\\" name=\\"th_option_add_button\\"/>\\n                            </tr>\\n                        </thead>\\n                        <tbody>\\n                            <tr t-foreach=\\"sale_order.sale_order_option_ids\\" t-as=\\"option\\">\\n                                <t t-if=\\"not option.is_present\\">\\n                                    <td name=\\"td_option_product_name\\">\\n                                        <div t-field=\\"option.name\\"/>\\n                                    </td>\\n                                    <td t-if=\\"display_discount\\" class=\\"text-end\\" name=\\"td_option_discount\\">\\n                                        <strong t-if=\\"option.discount\\" class=\\"text-info\\">\\n                                            <t t-out=\\"((option.discount % 1) and '%s' or '%d') % option.discount\\"/>%\\n                                        </strong>\\n                                    </td>\\n                                    <td name=\\"td_option_unit_price\\">\\n                                        <strong class=\\"text-end\\">\\n                                            <div t-field=\\"option.price_unit\\" t-options=\\"{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: sale_order.currency_id}\\" t-att-style=\\"option.discount and 'text-decoration: line-through' or None\\" t-att-class=\\"option.discount and 'text-danger' or None\\"/>\\n                                            <div t-if=\\"option.discount\\">\\n                                                <t t-out=\\"(1-option.discount / 100.0) * option.price_unit\\" t-options=\\"{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: sale_order.currency_id}\\"/>\\n                                            </div>\\n                                        </strong>\\n                                    </td>\\n                                    <td class=\\"text-end\\" t-if=\\"sale_order._can_be_edited_on_portal() and report_type == 'html'\\" name=\\"td_option_add_button\\">\\n                                        <a t-att-data-option-id=\\"option.id\\" href=\\"#\\" class=\\"mb8 js_add_optional_products d-print-none\\" aria-label=\\"Add to cart\\" title=\\"Add to cart\\">\\n                                            <span class=\\"btn btn-secondary\\">Add to order</span>\\n                                        </a>\\n                                    </td>\\n                                </t>\\n                            </tr>\\n                        </tbody>\\n                    </table>\\n                </section>\\n            </t>\\n        </xpath>\\n\\n        <xpath expr=\\"//section[@id='details']//div[@id='quote_qty']\\" position=\\"replace\\">\\n            <t t-if=\\"line._can_be_edited_on_portal()\\">\\n                <div class=\\"input-group js_quantity_container pull-right\\">\\n\\n                    <span class=\\"d-print-none input-group-text d-none d-md-inline-block\\">\\n                        <a t-att-data-line-id=\\"line.id\\" t-att-data-remove=\\"True\\" href=\\"#\\" class=\\"js_update_line_json\\" aria-label=\\"Remove one\\" title=\\"Remove one\\">\\n                            <span class=\\"fa fa-minus\\"/>\\n                        </a>\\n                    </span>\\n                    <!-- TODO add uom in this case too -->\\n                    <input type=\\"text\\" class=\\"js_quantity form-control\\" t-att-data-line-id=\\"line.id\\" t-att-value=\\"line.product_uom_qty\\"/>\\n                    <span class=\\"d-print-none input-group-text d-none d-md-inline-block\\">\\n                        <a t-att-data-line-id=\\"line.id\\" href=\\"#\\" class=\\"js_update_line_json\\" aria-label=\\"Add one\\" title=\\"Add one\\">\\n                            <span class=\\"fa fa-plus\\"/>\\n                        </a>\\n                    </span>\\n                </div>\\n            </t>\\n            <t t-else=\\"\\">\\n                <span t-field=\\"line.product_uom_qty\\"/>\\n                <span t-field=\\"line.product_uom_id\\"/>\\n            </t>\\n        </xpath>\\n\\n    </data>", "fr_FR": "<data name=\\"Order Options\\" inherit_id=\\"sale.sale_order_portal_content\\">\\n\\n        <xpath expr=\\"//section[@id='details']//t[@t-set='display_discount']\\" position=\\"after\\">\\n            <t t-set=\\"display_remove\\" t-value=\\"sale_order._can_be_edited_on_portal() and any(line._can_be_edited_on_portal() for line in sale_order.order_line)\\"/>\\n        </xpath>\\n\\n        <xpath expr=\\"//section[@id='details']//table[@id='sales_order_table']/thead/tr\\" position=\\"inside\\">\\n            <!-- add blank Tr in thead for layout conciseness -->\\n            <th t-if=\\"display_remove\\">\\n            </th>\\n        </xpath>\\n\\n        <xpath expr=\\"//section[@id='details']//t[@name='product_line_row']\\" position=\\"inside\\">\\n            <td class=\\"text-center\\" t-if=\\"display_remove\\">\\n                <a t-if=\\"line._can_be_edited_on_portal()\\" t-att-data-line-id=\\"line.id\\" t-att-data-unlink=\\"True\\" href=\\"#\\" class=\\"mb8 js_update_line_json d-print-none\\" aria-label=\\"Supprimer\\" title=\\"Supprimer\\">\\n                    <span class=\\"fa fa-trash-o\\"/>\\n                </a>\\n            </td>\\n        </xpath>\\n\\n        <xpath expr=\\"//section[@id='signature']\\" position=\\"after\\">\\n            <t t-if=\\"sale_order._can_be_edited_on_portal() and any((not option.is_present) for option in sale_order.sale_order_option_ids)\\">\\n                <section>\\n                    <h3>Options</h3>\\n                    <t t-set=\\"display_discount\\" t-value=\\"True in [option.discount &gt; 0 for option in sale_order.sale_order_option_ids]\\"/>\\n                    <table class=\\"table table-sm\\" name=\\"sale_order_options_table\\">\\n                        <thead>\\n                            <tr>\\n                                <th class=\\"text-start\\" name=\\"th_option_product_name\\">Produit</th>\\n                                <th t-if=\\"display_discount\\" class=\\"text-end\\" name=\\"th_option_discount\\">Rem.%\\n                                </th>\\n                                <th class=\\"text-end\\" name=\\"th_option_unit_price\\">Prix unitaire</th>\\n                                <th t-if=\\"sale_order._can_be_edited_on_portal() and report_type == 'html'\\" name=\\"th_option_add_button\\"/>\\n                            </tr>\\n                        </thead>\\n                        <tbody>\\n                            <tr t-foreach=\\"sale_order.sale_order_option_ids\\" t-as=\\"option\\">\\n                                <t t-if=\\"not option.is_present\\">\\n                                    <td name=\\"td_option_product_name\\">\\n                                        <div t-field=\\"option.name\\"/>\\n                                    </td>\\n                                    <td t-if=\\"display_discount\\" class=\\"text-end\\" name=\\"td_option_discount\\">\\n                                        <strong t-if=\\"option.discount\\" class=\\"text-info\\">\\n                                            <t t-out=\\"((option.discount % 1) and '%s' or '%d') % option.discount\\"/>%\\n                                        </strong>\\n                                    </td>\\n                                    <td name=\\"td_option_unit_price\\">\\n                                        <strong class=\\"text-end\\">\\n                                            <div t-field=\\"option.price_unit\\" t-options=\\"{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: sale_order.currency_id}\\" t-att-style=\\"option.discount and 'text-decoration: line-through' or None\\" t-att-class=\\"option.discount and 'text-danger' or None\\"/>\\n                                            <div t-if=\\"option.discount\\">\\n                                                <t t-out=\\"(1-option.discount / 100.0) * option.price_unit\\" t-options=\\"{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: sale_order.currency_id}\\"/>\\n                                            </div>\\n                                        </strong>\\n                                    </td>\\n                                    <td class=\\"text-end\\" t-if=\\"sale_order._can_be_edited_on_portal() and report_type == 'html'\\" name=\\"td_option_add_button\\">\\n                                        <a t-att-data-option-id=\\"option.id\\" href=\\"#\\" class=\\"mb8 js_add_optional_products d-print-none\\" aria-label=\\"Ajouter au panier\\" title=\\"Ajouter au panier\\">\\n                                            <span class=\\"btn btn-secondary\\">Ajouter à la commande</span>\\n                                        </a>\\n                                    </td>\\n                                </t>\\n                            </tr>\\n                        </tbody>\\n                    </table>\\n                </section>\\n            </t>\\n        </xpath>\\n\\n        <xpath expr=\\"//section[@id='details']//div[@id='quote_qty']\\" position=\\"replace\\">\\n            <t t-if=\\"line._can_be_edited_on_portal()\\">\\n                <div class=\\"input-group js_quantity_container pull-right\\">\\n\\n                    <span class=\\"d-print-none input-group-text d-none d-md-inline-block\\">\\n                        <a t-att-data-line-id=\\"line.id\\" t-att-data-remove=\\"True\\" href=\\"#\\" class=\\"js_update_line_json\\" aria-label=\\"Supprimer\\" title=\\"Supprimer\\">\\n                            <span class=\\"fa fa-minus\\"/>\\n                        </a>\\n                    </span>\\n                    <!-- TODO add uom in this case too -->\\n                    <input type=\\"text\\" class=\\"js_quantity form-control\\" t-att-data-line-id=\\"line.id\\" t-att-value=\\"line.product_uom_qty\\"/>\\n                    <span class=\\"d-print-none input-group-text d-none d-md-inline-block\\">\\n                        <a t-att-data-line-id=\\"line.id\\" href=\\"#\\" class=\\"js_update_line_json\\" aria-label=\\"Ajouter\\" title=\\"Ajouter\\">\\n                            <span class=\\"fa fa-plus\\"/>\\n                        </a>\\n                    </span>\\n                </div>\\n            </t>\\n            <t t-else=\\"\\">\\n                <span t-field=\\"line.product_uom_qty\\"/>\\n                <span t-field=\\"line.product_uom_id\\"/>\\n            </t>\\n        </xpath>\\n\\n    </data>"}	<?xml version="1.0"?>\n<data name="Order Options" inherit_id="sale.sale_order_portal_content">\n\n        <xpath expr="//section[@id='details']//t[@t-set='display_discount']" position="after">\n            <t t-set="display_remove" t-value="sale_order._can_be_edited_on_portal() and any(line._can_be_edited_on_portal() for line in sale_order.order_line)"/>\n        </xpath>\n\n        <xpath expr="//section[@id='details']//table[@id='sales_order_table']/thead/tr" position="inside">\n            <!-- add blank Tr in thead for layout conciseness -->\n            <th t-if="display_remove">\n            </th>\n        </xpath>\n\n        <xpath expr="//section[@id='details']//t[@name='product_line_row']" position="inside">\n            <td class="text-center" t-if="display_remove">\n                <a t-if="line._can_be_edited_on_portal()" t-att-data-line-id="line.id" t-att-data-unlink="True" href="#" class="mb8 js_update_line_json d-print-none" aria-label="Remove" title="Remove">\n                    <span class="fa fa-trash-o"/>\n                </a>\n            </td>\n        </xpath>\n\n        <xpath expr="//section[@id='signature']" position="after">\n            <t t-if="sale_order._can_be_edited_on_portal() and any((not option.is_present) for option in sale_order.sale_order_option_ids)">\n                <section>\n                    <h3>Options</h3>\n                    <t t-set="display_discount" t-value="True in [option.discount &gt; 0 for option in sale_order.sale_order_option_ids]"/>\n                    <table class="table table-sm" name="sale_order_options_table">\n                        <thead>\n                            <tr>\n                                <th class="text-start" name="th_option_product_name">Product</th>\n                                <th t-if="display_discount" class="text-end" name="th_option_discount">Disc.%\n                                </th>\n                                <th class="text-end" name="th_option_unit_price">Unit Price</th>\n                                <th t-if="sale_order._can_be_edited_on_portal() and report_type == 'html'" name="th_option_add_button"/>\n                            </tr>\n                        </thead>\n                        <tbody>\n                            <tr t-foreach="sale_order.sale_order_option_ids" t-as="option">\n                                <t t-if="not option.is_present">\n                                    <td name="td_option_product_name">\n                                        <div t-field="option.name"/>\n                                    </td>\n                                    <td t-if="display_discount" class="text-end" name="td_option_discount">\n                                        <strong t-if="option.discount" class="text-info">\n                                            <t t-out="((option.discount % 1) and '%s' or '%d') % option.discount"/>%\n                                        </strong>\n                                    </td>\n                                    <td name="td_option_unit_price">\n                                        <strong class="text-end">\n                                            <div t-field="option.price_unit" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: sale_order.currency_id}" t-att-style="option.discount and 'text-decoration: line-through' or None" t-att-class="option.discount and 'text-danger' or None"/>\n                                            <div t-if="option.discount">\n                                                <t t-out="(1-option.discount / 100.0) * option.price_unit" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: sale_order.currency_id}"/>\n                                            </div>\n                                        </strong>\n                                    </td>\n                                    <td class="text-end" t-if="sale_order._can_be_edited_on_portal() and report_type == 'html'" name="td_option_add_button">\n                                        <a t-att-data-option-id="option.id" href="#" class="mb8 js_add_optional_products d-print-none" aria-label="Add to cart" title="Add to cart">\n                                            <span class="btn btn-secondary">Add to order</span>\n                                        </a>\n                                    </td>\n                                </t>\n                            </tr>\n                        </tbody>\n                    </table>\n                </section>\n            </t>\n        </xpath>\n\n        <xpath expr="//section[@id='details']//div[@id='quote_qty']" position="replace">\n            <t t-if="line._can_be_edited_on_portal()">\n                <div class="input-group js_quantity_container pull-right">\n\n                    <span class="d-print-none input-group-text d-none d-md-inline-block">\n                        <a t-att-data-line-id="line.id" t-att-data-remove="True" href="#" class="js_update_line_json" aria-label="Remove one" title="Remove one">\n                            <span class="fa fa-minus"/>\n                        </a>\n                    </span>\n                    <!-- TODO add uom in this case too -->\n                    <input type="text" class="js_quantity form-control" t-att-data-line-id="line.id" t-att-value="line.product_uom_qty"/>\n                    <span class="d-print-none input-group-text d-none d-md-inline-block">\n                        <a t-att-data-line-id="line.id" href="#" class="js_update_line_json" aria-label="Add one" title="Add one">\n                            <span class="fa fa-plus"/>\n                        </a>\n                    </span>\n                </div>\n            </t>\n            <t t-else="">\n                <span t-field="line.product_uom_qty"/>\n                <span t-field="line.product_uom_id"/>\n            </t>\n        </xpath>\n\n    </data>\n\n	f	t	2025-07-20 21:22:18.348671	2025-07-20 21:22:18.348671	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2293	16	\N	1	1	sale.order.template.search	sale.order.template	\N	search	sale_management/views/sale_order_template_views.xml	primary	{"en_US": "<search string=\\"Search Quotation Template\\">\\n                <field name=\\"name\\"/>\\n                <filter string=\\"Archived\\" name=\\"inactive\\" domain=\\"[('active','=', False)]\\"/>\\n                <group expand=\\"1\\" string=\\"Group By\\">\\n                    <filter string=\\"Company\\" name=\\"company_id\\" context=\\"{'group_by': 'company_id'}\\" groups=\\"base.group_multi_company\\"/>\\n                </group>\\n            </search>", "fr_FR": "<search string=\\"Rechercher un modèle de devis\\">\\n                <field name=\\"name\\"/>\\n                <filter string=\\"Archivé\\" name=\\"inactive\\" domain=\\"[('active','=', False)]\\"/>\\n                <group expand=\\"1\\" string=\\"Regrouper par\\">\\n                    <filter string=\\"Société\\" name=\\"company_id\\" context=\\"{'group_by': 'company_id'}\\" groups=\\"base.group_multi_company\\"/>\\n                </group>\\n            </search>"}	<?xml version="1.0"?>\n<search string="Search Quotation Template">\n                <field name="name"/>\n                <filter string="Archived" name="inactive" domain="[('active','=', False)]"/>\n                <group expand="1" string="Group By">\n                    <filter string="Company" name="company_id" context="{'group_by': 'company_id'}" groups="base.group_multi_company"/>\n                </group>\n            </search>\n        	f	t	2025-07-20 21:22:18.348671	2025-07-20 21:22:18.348671	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2295	16	\N	1	1	sale.order.template.list	sale.order.template	\N	list	sale_management/views/sale_order_template_views.xml	primary	{"en_US": "<list string=\\"Quotation Template\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"name\\"/>\\n                <field name=\\"company_id\\" groups=\\"base.group_multi_company\\"/>\\n            </list>", "fr_FR": "<list string=\\"Modèle de devis\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"name\\"/>\\n                <field name=\\"company_id\\" groups=\\"base.group_multi_company\\"/>\\n            </list>"}	<?xml version="1.0"?>\n<list string="Quotation Template">\n                <field name="sequence" widget="handle"/>\n                <field name="name"/>\n                <field name="company_id" groups="base.group_multi_company"/>\n            </list>\n        	f	t	2025-07-20 21:22:18.348671	2025-07-20 21:22:18.348671	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2301	16	1822	1	1	res.config.settings.view.form.inherit.account.invoice.ocr	res.config.settings	\N	form	account_invoice_extract/views/res_config_settings_views.xml	extension	{"en_US": "<data><div id=\\"msg_invoice_extract\\" position=\\"replace\\"/>\\n\\n            <setting id=\\"account_ocr_settings\\" position=\\"after\\">\\n                <setting invisible=\\"not module_account_extract\\">\\n                    <widget name=\\"iap_buy_more_credits\\" service_name=\\"invoice_ocr\\"/>\\n                </setting>\\n                <setting invisible=\\"not module_account_invoice_extract\\">\\n                    <field name=\\"extract_in_invoice_digitalization_mode\\" class=\\"o_light_label\\" widget=\\"radio\\" required=\\"True\\"/>\\n                </setting>\\n                <setting invisible=\\"not module_account_invoice_extract\\">\\n                    <field name=\\"extract_out_invoice_digitalization_mode\\" class=\\"o_light_label\\" widget=\\"radio\\" required=\\"True\\"/>\\n                </setting>\\n                <setting invisible=\\"not module_account_invoice_extract\\" company_dependent=\\"1\\" help=\\"Enable to get only one invoice line per tax\\">\\n                    <field name=\\"extract_single_line_per_tax\\"/>\\n                </setting>\\n            </setting>\\n        </data>", "fr_FR": "<data><div id=\\"msg_invoice_extract\\" position=\\"replace\\"/>\\n\\n            <setting id=\\"account_ocr_settings\\" position=\\"after\\">\\n                <setting invisible=\\"not module_account_extract\\">\\n                    <widget name=\\"iap_buy_more_credits\\" service_name=\\"invoice_ocr\\"/>\\n                </setting>\\n                <setting invisible=\\"not module_account_invoice_extract\\">\\n                    <field name=\\"extract_in_invoice_digitalization_mode\\" class=\\"o_light_label\\" widget=\\"radio\\" required=\\"True\\"/>\\n                </setting>\\n                <setting invisible=\\"not module_account_invoice_extract\\">\\n                    <field name=\\"extract_out_invoice_digitalization_mode\\" class=\\"o_light_label\\" widget=\\"radio\\" required=\\"True\\"/>\\n                </setting>\\n                <setting invisible=\\"not module_account_invoice_extract\\" company_dependent=\\"1\\" help=\\"Activer pour n'obtenir qu'une ligne de facture par taxe\\">\\n                    <field name=\\"extract_single_line_per_tax\\"/>\\n                </setting>\\n            </setting>\\n        </data>"}	<?xml version="1.0"?>\n<data><div id="msg_invoice_extract" position="replace"/>\n\n            <setting id="account_ocr_settings" position="after">\n                <setting invisible="not module_account_extract">\n                    <widget name="iap_buy_more_credits" service_name="invoice_ocr"/>\n                </setting>\n                <setting invisible="not module_account_invoice_extract">\n                    <field name="extract_in_invoice_digitalization_mode" class="o_light_label" widget="radio" required="True"/>\n                </setting>\n                <setting invisible="not module_account_invoice_extract">\n                    <field name="extract_out_invoice_digitalization_mode" class="o_light_label" widget="radio" required="True"/>\n                </setting>\n                <setting invisible="not module_account_invoice_extract" company_dependent="1" help="Enable to get only one invoice line per tax">\n                    <field name="extract_single_line_per_tax"/>\n                </setting>\n            </setting>\n        </data>	f	t	2025-07-20 21:22:18.638469	2025-07-20 21:22:18.638469	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2373	16	\N	1	1	Products item	\N	website_sale.products_item	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Products item\\" t-name=\\"website_sale.products_item\\">\\n        <form class=\\"oe_product_cart h-100 d-flex\\" t-att-data-publish=\\"product.website_published and 'on' or 'off'\\">\\n            <t t-set=\\"product_path\\" t-value=\\"'%s/%s/%s' % (shop_path, slug(category), slug(product)) if category else '%s/%s' % (shop_path, slug(product))\\"/>\\n            <t t-set=\\"product_href\\" t-value=\\"product_path + (product_query_string and '?' + product_query_string) + selected_attributes_hash\\"/>\\n            <t t-set=\\"image_type\\" t-value=\\"product._get_suitable_image_size(ppr, td_product['x'], td_product['y'])\\"/>\\n\\n            <div class=\\"oe_product_image position-relative flex-grow-0 overflow-hidden\\">\\n                <input type=\\"hidden\\" name=\\"csrf_token\\" t-att-value=\\"request.csrf_token()\\" t-nocache=\\"The csrf token must always be up to date.\\"/>\\n                <a t-att-href=\\"product_href\\" class=\\"oe_product_image_link d-block position-relative\\" contenteditable=\\"false\\">\\n                    <t t-set=\\"image_holder\\" t-value=\\"product._get_image_holder()\\"/>\\n                    <span t-field=\\"image_holder.image_1920\\" t-options=\\"{'widget': 'image', 'preview_image': image_type, 'class': 'h-100 w-100 position-absolute'}\\" class=\\"oe_product_image_img_wrapper d-flex h-100 justify-content-center align-items-center position-absolute\\"/>\\n\\n                    <t t-set=\\"bg_color\\" t-value=\\"td_product['ribbon'].bg_color\\"/>\\n                    <t t-set=\\"text_color\\" t-value=\\"td_product['ribbon'].text_color\\"/>\\n                    <t t-set=\\"bg_class\\" t-value=\\"td_product['ribbon']._get_position_class()\\"/>\\n                    <span t-attf-class=\\"o_ribbon o_not_editable #{bg_class}\\" t-attf-style=\\"#{text_color and ('color: %s;' % text_color)} #{bg_color and 'background-color:' + bg_color}\\" t-out=\\"td_product['ribbon'].name or ''\\"/>\\n                </a>\\n            </div>\\n            <div class=\\"o_wsale_product_information position-relative d-flex flex-grow-1 flex-shrink-1\\">\\n                <div class=\\"o_wsale_product_information_text\\">\\n                    <h6 class=\\"o_wsale_products_item_title mb-2 text-break\\">\\n                        <a class=\\"text-decoration-none\\" t-att-href=\\"product_href\\" t-att-content=\\"product.name\\" t-field=\\"product.name\\"/>\\n                        <a t-if=\\"not product.website_published\\" role=\\"button\\" t-att-href=\\"product_href\\" class=\\"btn btn-sm btn-danger\\" title=\\"This product is unpublished.\\">\\n                            Unpublished\\n                        </a>\\n                    </h6>\\n\\n                    <t t-call=\\"website_sale.product_variant_preview\\"/>\\n                </div>\\n                <div class=\\"o_wsale_product_sub d-flex align-items-center justify-content-between flex-nowrap gap-3\\">\\n                    <t t-set=\\"template_price_vals\\" t-value=\\"get_product_prices(product)\\"/>\\n                    <div class=\\"product_price\\">\\n                        <span class=\\"h6 mb-0\\" t-if=\\"template_price_vals['price_reduce'] or not website.prevent_zero_price_sale\\" t-out=\\"template_price_vals['price_reduce']\\" t-options=\\"{'widget': 'monetary', 'display_currency': website.currency_id}\\"/>\\n                        <t t-if=\\"'base_price' in template_price_vals and (template_price_vals['base_price'] &gt; template_price_vals['price_reduce']) and (template_price_vals['price_reduce'] or not website.prevent_zero_price_sale)\\" name=\\"product_base_price\\">\\n                            <del t-attf-class=\\"text-muted me-1 h6 mb-0\\" style=\\"white-space: nowrap;\\">\\n                                <em class=\\"small\\" t-esc=\\"template_price_vals['base_price']\\" t-options=\\"{'widget': 'monetary', 'display_currency': website.currency_id}\\"/>\\n                            </del>\\n                        </t>\\n                    </div>\\n                    <div t-if=\\"layout_mode == 'list'\\" class=\\"o_wsale_product_btn o_wsale_product_btn_list d-flex gap-2\\" t-call=\\"website_sale.shop_product_buttons\\"/>\\n                </div>\\n            </div>\\n            <div t-if=\\"layout_mode != 'list'\\" class=\\"o_wsale_product_btn o_wsale_product_btn_catalog d-flex gap-2\\" t-call=\\"website_sale.shop_product_buttons\\"/>\\n        </form>\\n    </t>", "fr_FR": "<t name=\\"Products item\\" t-name=\\"website_sale.products_item\\">\\n        <form class=\\"oe_product_cart h-100 d-flex\\" t-att-data-publish=\\"product.website_published and 'on' or 'off'\\">\\n            <t t-set=\\"product_path\\" t-value=\\"'%s/%s/%s' % (shop_path, slug(category), slug(product)) if category else '%s/%s' % (shop_path, slug(product))\\"/>\\n            <t t-set=\\"product_href\\" t-value=\\"product_path + (product_query_string and '?' + product_query_string) + selected_attributes_hash\\"/>\\n            <t t-set=\\"image_type\\" t-value=\\"product._get_suitable_image_size(ppr, td_product['x'], td_product['y'])\\"/>\\n\\n            <div class=\\"oe_product_image position-relative flex-grow-0 overflow-hidden\\">\\n                <input type=\\"hidden\\" name=\\"csrf_token\\" t-att-value=\\"request.csrf_token()\\" t-nocache=\\"The csrf token must always be up to date.\\"/>\\n                <a t-att-href=\\"product_href\\" class=\\"oe_product_image_link d-block position-relative\\" contenteditable=\\"false\\">\\n                    <t t-set=\\"image_holder\\" t-value=\\"product._get_image_holder()\\"/>\\n                    <span t-field=\\"image_holder.image_1920\\" t-options=\\"{'widget': 'image', 'preview_image': image_type, 'class': 'h-100 w-100 position-absolute'}\\" class=\\"oe_product_image_img_wrapper d-flex h-100 justify-content-center align-items-center position-absolute\\"/>\\n\\n                    <t t-set=\\"bg_color\\" t-value=\\"td_product['ribbon'].bg_color\\"/>\\n                    <t t-set=\\"text_color\\" t-value=\\"td_product['ribbon'].text_color\\"/>\\n                    <t t-set=\\"bg_class\\" t-value=\\"td_product['ribbon']._get_position_class()\\"/>\\n                    <span t-attf-class=\\"o_ribbon o_not_editable #{bg_class}\\" t-attf-style=\\"#{text_color and ('color: %s;' % text_color)} #{bg_color and 'background-color:' + bg_color}\\" t-out=\\"td_product['ribbon'].name or ''\\"/>\\n                </a>\\n            </div>\\n            <div class=\\"o_wsale_product_information position-relative d-flex flex-grow-1 flex-shrink-1\\">\\n                <div class=\\"o_wsale_product_information_text\\">\\n                    <h6 class=\\"o_wsale_products_item_title mb-2 text-break\\">\\n                        <a class=\\"text-decoration-none\\" t-att-href=\\"product_href\\" t-att-content=\\"product.name\\" t-field=\\"product.name\\"/>\\n                        <a t-if=\\"not product.website_published\\" role=\\"button\\" t-att-href=\\"product_href\\" class=\\"btn btn-sm btn-danger\\" title=\\"Ce produit n'est pas publié.\\">\\n                            Non publié\\n                        </a>\\n                    </h6>\\n\\n                    <t t-call=\\"website_sale.product_variant_preview\\"/>\\n                </div>\\n                <div class=\\"o_wsale_product_sub d-flex align-items-center justify-content-between flex-nowrap gap-3\\">\\n                    <t t-set=\\"template_price_vals\\" t-value=\\"get_product_prices(product)\\"/>\\n                    <div class=\\"product_price\\">\\n                        <span class=\\"h6 mb-0\\" t-if=\\"template_price_vals['price_reduce'] or not website.prevent_zero_price_sale\\" t-out=\\"template_price_vals['price_reduce']\\" t-options=\\"{'widget': 'monetary', 'display_currency': website.currency_id}\\"/>\\n                        <t t-if=\\"'base_price' in template_price_vals and (template_price_vals['base_price'] &gt; template_price_vals['price_reduce']) and (template_price_vals['price_reduce'] or not website.prevent_zero_price_sale)\\" name=\\"product_base_price\\">\\n                            <del t-attf-class=\\"text-muted me-1 h6 mb-0\\" style=\\"white-space: nowrap;\\">\\n                                <em class=\\"small\\" t-esc=\\"template_price_vals['base_price']\\" t-options=\\"{'widget': 'monetary', 'display_currency': website.currency_id}\\"/>\\n                            </del>\\n                        </t>\\n                    </div>\\n                    <div t-if=\\"layout_mode == 'list'\\" class=\\"o_wsale_product_btn o_wsale_product_btn_list d-flex gap-2\\" t-call=\\"website_sale.shop_product_buttons\\"/>\\n                </div>\\n            </div>\\n            <div t-if=\\"layout_mode != 'list'\\" class=\\"o_wsale_product_btn o_wsale_product_btn_catalog d-flex gap-2\\" t-call=\\"website_sale.shop_product_buttons\\"/>\\n        </form>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Products item" t-name="website_sale.products_item">\n        <form class="oe_product_cart h-100 d-flex" t-att-data-publish="product.website_published and 'on' or 'off'">\n            <t t-set="product_path" t-value="'%s/%s/%s' % (shop_path, slug(category), slug(product)) if category else '%s/%s' % (shop_path, slug(product))"/>\n            <t t-set="product_href" t-value="product_path + (product_query_string and '?' + product_query_string) + selected_attributes_hash"/>\n            <t t-set="image_type" t-value="product._get_suitable_image_size(ppr, td_product['x'], td_product['y'])"/>\n\n            <div class="oe_product_image position-relative flex-grow-0 overflow-hidden">\n                <input type="hidden" name="csrf_token" t-att-value="request.csrf_token()" t-nocache="The csrf token must always be up to date."/>\n                <a t-att-href="product_href" class="oe_product_image_link d-block position-relative" contenteditable="false">\n                    <t t-set="image_holder" t-value="product._get_image_holder()"/>\n                    <span t-field="image_holder.image_1920" t-options="{'widget': 'image', 'preview_image': image_type, 'class': 'h-100 w-100 position-absolute'}" class="oe_product_image_img_wrapper d-flex h-100 justify-content-center align-items-center position-absolute"/>\n\n                    <t t-set="bg_color" t-value="td_product['ribbon'].bg_color"/>\n                    <t t-set="text_color" t-value="td_product['ribbon'].text_color"/>\n                    <t t-set="bg_class" t-value="td_product['ribbon']._get_position_class()"/>\n                    <span t-attf-class="o_ribbon o_not_editable #{bg_class}" t-attf-style="#{text_color and ('color: %s;' % text_color)} #{bg_color and 'background-color:' + bg_color}" t-out="td_product['ribbon'].name or ''"/>\n                </a>\n            </div>\n            <div class="o_wsale_product_information position-relative d-flex flex-grow-1 flex-shrink-1">\n                <div class="o_wsale_product_information_text">\n                    <h6 class="o_wsale_products_item_title mb-2 text-break">\n                        <a class="text-decoration-none" t-att-href="product_href" t-att-content="product.name" t-field="product.name"/>\n                        <a t-if="not product.website_published" role="button" t-att-href="product_href" class="btn btn-sm btn-danger" title="This product is unpublished.">\n                            Unpublished\n                        </a>\n                    </h6>\n\n                    <t t-call="website_sale.product_variant_preview"/>\n                </div>\n                <div class="o_wsale_product_sub d-flex align-items-center justify-content-between flex-nowrap gap-3">\n                    <t t-set="template_price_vals" t-value="get_product_prices(product)"/>\n                    <div class="product_price">\n                        <span class="h6 mb-0" t-if="template_price_vals['price_reduce'] or not website.prevent_zero_price_sale" t-out="template_price_vals['price_reduce']" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}"/>\n                        <t t-if="'base_price' in template_price_vals and (template_price_vals['base_price'] &gt; template_price_vals['price_reduce']) and (template_price_vals['price_reduce'] or not website.prevent_zero_price_sale)" name="product_base_price">\n                            <del t-attf-class="text-muted me-1 h6 mb-0" style="white-space: nowrap;">\n                                <em class="small" t-esc="template_price_vals['base_price']" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}"/>\n                            </del>\n                        </t>\n                    </div>\n                    <div t-if="layout_mode == 'list'" class="o_wsale_product_btn o_wsale_product_btn_list d-flex gap-2" t-call="website_sale.shop_product_buttons"/>\n                </div>\n            </div>\n            <div t-if="layout_mode != 'list'" class="o_wsale_product_btn o_wsale_product_btn_catalog d-flex gap-2" t-call="website_sale.shop_product_buttons"/>\n        </form>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2300	16	1730	1	1	invoice.move.form.inherit.ocr	account.move	\N	form	account_invoice_extract/views/account_move_views.xml	extension	{"en_US": "<data><xpath expr=\\"//header\\" position=\\"inside\\">\\n                <button name=\\"action_manual_send_for_digitization\\" class=\\"oe_highlight\\" string=\\"Digitize document\\" type=\\"object\\" invisible=\\"not extract_can_show_send_button\\" data-hotkey=\\"w\\"/>\\n                <button name=\\"action_reload_ai_data\\" string=\\"Reload AI Data\\" type=\\"object\\" invisible=\\"move_type not in ('in_invoice', 'in_refund', 'out_invoice', 'out_refund') or state != 'draft' or extract_state not in ['waiting_validation', 'validation_to_send']\\"/>\\n            </xpath>\\n            <xpath expr=\\"//sheet\\" position=\\"before\\">\\n                <field name=\\"extract_error_message\\" invisible=\\"1\\"/> <!-- extract_error_message required for the extract_state_header -->\\n                <field name=\\"extract_document_uuid\\" invisible=\\"1\\"/> <!-- extract_document_uuid required for the extract_state_header -->\\n                <field name=\\"extract_state\\" class=\\"d-block\\" invisible=\\"not extract_can_show_banners or extract_state in ['waiting_validation', 'no_extract_requested']\\" widget=\\"extract_state_header\\"/>\\n                <field name=\\"extract_attachment_id\\" invisible=\\"True\\"/>\\n                <field name=\\"extract_can_show_send_button\\" invisible=\\"True\\"/>\\n                <field name=\\"extract_can_show_banners\\" invisible=\\"True\\"/>\\n            </xpath>\\n            <xpath expr=\\"//chatter\\" position=\\"attributes\\">\\n                <attribute name=\\"reload_on_post\\">True</attribute>\\n                <attribute name=\\"reload_on_attachment\\">True</attribute>\\n            </xpath>\\n            <xpath expr=\\"//page[@id='other_tab']//group[@name='accounting_info_group']\\" position=\\"after\\">\\n                <group string=\\"Extraction Information\\" name=\\"extraction_info_group\\" invisible=\\"move_type not in ('in_invoice', 'in_refund', 'out_invoice', 'out_refund') or extract_state in ('no_extract_requested', 'not_enough_credit')\\" groups=\\"base.group_no_one\\">\\n                    <field name=\\"extract_document_uuid\\" widget=\\"CopyClipboardChar\\"/>\\n                </group>\\n            </xpath>\\n        </data>", "fr_FR": "<data><xpath expr=\\"//header\\" position=\\"inside\\">\\n                <button name=\\"action_manual_send_for_digitization\\" class=\\"oe_highlight\\" string=\\"Numériser le document\\" type=\\"object\\" invisible=\\"not extract_can_show_send_button\\" data-hotkey=\\"w\\"/>\\n                <button name=\\"action_reload_ai_data\\" string=\\"Recharger les données AI\\" type=\\"object\\" invisible=\\"move_type not in ('in_invoice', 'in_refund', 'out_invoice', 'out_refund') or state != 'draft' or extract_state not in ['waiting_validation', 'validation_to_send']\\"/>\\n            </xpath>\\n            <xpath expr=\\"//sheet\\" position=\\"before\\">\\n                <field name=\\"extract_error_message\\" invisible=\\"1\\"/> <!-- extract_error_message required for the extract_state_header -->\\n                <field name=\\"extract_document_uuid\\" invisible=\\"1\\"/> <!-- extract_document_uuid required for the extract_state_header -->\\n                <field name=\\"extract_state\\" class=\\"d-block\\" invisible=\\"not extract_can_show_banners or extract_state in ['waiting_validation', 'no_extract_requested']\\" widget=\\"extract_state_header\\"/>\\n                <field name=\\"extract_attachment_id\\" invisible=\\"True\\"/>\\n                <field name=\\"extract_can_show_send_button\\" invisible=\\"True\\"/>\\n                <field name=\\"extract_can_show_banners\\" invisible=\\"True\\"/>\\n            </xpath>\\n            <xpath expr=\\"//chatter\\" position=\\"attributes\\">\\n                <attribute name=\\"reload_on_post\\">True</attribute>\\n                <attribute name=\\"reload_on_attachment\\">True</attribute>\\n            </xpath>\\n            <xpath expr=\\"//page[@id='other_tab']//group[@name='accounting_info_group']\\" position=\\"after\\">\\n                <group string=\\"Extraction d'information\\" name=\\"extraction_info_group\\" invisible=\\"move_type not in ('in_invoice', 'in_refund', 'out_invoice', 'out_refund') or extract_state in ('no_extract_requested', 'not_enough_credit')\\" groups=\\"base.group_no_one\\">\\n                    <field name=\\"extract_document_uuid\\" widget=\\"CopyClipboardChar\\"/>\\n                </group>\\n            </xpath>\\n        </data>"}	<?xml version="1.0"?>\n<data><xpath expr="//header" position="inside">\n                <button name="action_manual_send_for_digitization" class="oe_highlight" string="Digitize document" type="object" invisible="not extract_can_show_send_button" data-hotkey="w"/>\n                <button name="action_reload_ai_data" string="Reload AI Data" type="object" invisible="move_type not in ('in_invoice', 'in_refund', 'out_invoice', 'out_refund') or state != 'draft' or extract_state not in ['waiting_validation', 'validation_to_send']"/>\n            </xpath>\n            <xpath expr="//sheet" position="before">\n                <field name="extract_error_message" invisible="1"/> <!-- extract_error_message required for the extract_state_header -->\n                <field name="extract_document_uuid" invisible="1"/> <!-- extract_document_uuid required for the extract_state_header -->\n                <field name="extract_state" class="d-block" invisible="not extract_can_show_banners or extract_state in ['waiting_validation', 'no_extract_requested']" widget="extract_state_header"/>\n                <field name="extract_attachment_id" invisible="True"/>\n                <field name="extract_can_show_send_button" invisible="True"/>\n                <field name="extract_can_show_banners" invisible="True"/>\n            </xpath>\n            <xpath expr="//chatter" position="attributes">\n                <attribute name="reload_on_post">True</attribute>\n                <attribute name="reload_on_attachment">True</attribute>\n            </xpath>\n            <xpath expr="//page[@id='other_tab']//group[@name='accounting_info_group']" position="after">\n                <group string="Extraction Information" name="extraction_info_group" invisible="move_type not in ('in_invoice', 'in_refund', 'out_invoice', 'out_refund') or extract_state in ('no_extract_requested', 'not_enough_credit')" groups="base.group_no_one">\n                    <field name="extract_document_uuid" widget="CopyClipboardChar"/>\n                </group>\n            </xpath>\n        </data>	f	t	2025-07-20 21:22:18.638469	2025-07-20 21:22:18.638469	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2302	16	1595	1	1	event.registration.list.inherit	event.registration	\N	list	event_sale/views/event_registration_views.xml	extension	{"en_US": "<field name=\\"event_id\\" position=\\"after\\">\\n                <field name=\\"sale_order_id\\" optional=\\"hide\\"/>\\n            </field>"}	<?xml version="1.0"?>\n<field name="event_id" position="after">\n                <field name="sale_order_id" optional="hide"/>\n            </field>\n        	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2305	16	2080	1	1	product.template.inherit.event.sale	product.template	\N	form	event_sale/views/product_template_views.xml	extension	{"en_US": "<field name=\\"service_tracking\\" position=\\"attributes\\">\\n                <attribute name=\\"invisible\\" remove=\\"1\\" separator=\\"or\\"/>\\n            </field>"}	<?xml version="1.0"?>\n<field name="service_tracking" position="attributes">\n                <attribute name="invisible" remove="1" separator="or"/>\n            </field>\n        	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2307	16	\N	1	1	Message: Alert on event registration data change	\N	event_sale.event_registration_change_exception	qweb	event_sale/data/mail_templates.xml	primary	{"en_US": "<t name=\\"Message: Alert on event registration data change\\" t-name=\\"event_sale.event_registration_change_exception\\">\\n    <div>\\n        <p>\\n            <span>Registration modification for attendee:</span>\\n            <a href=\\"#\\" data-oe-model=\\"event.registration\\" t-att-data-oe-id=\\"registration.id\\"><t t-out=\\"registration.name\\"/></a>.\\n            <span>Manual actions may be needed.</span>\\n        </p>\\n        <div class=\\"mt16\\">\\n            <p>Exception:</p>\\n            <ul>\\n                <li>\\n                    <a href=\\"#\\" data-oe-model=\\"event.registration\\" t-att-data-oe-id=\\"registration.id\\"><t t-out=\\"registration.name\\"/></a>:\\n                    <span><t t-out=\\"record_type\\"/> changed from <strong><t t-out=\\"old_name\\"/></strong> to <strong><t t-out=\\"new_name\\"/></strong></span>\\n                </li>\\n            </ul>\\n        </div>\\n    </div>\\n</t>"}	<?xml version="1.0"?>\n<t name="Message: Alert on event registration data change" t-name="event_sale.event_registration_change_exception">\n    <div>\n        <p>\n            <span>Registration modification for attendee:</span>\n            <a href="#" data-oe-model="event.registration" t-att-data-oe-id="registration.id"><t t-out="registration.name"/></a>.\n            <span>Manual actions may be needed.</span>\n        </p>\n        <div class="mt16">\n            <p>Exception:</p>\n            <ul>\n                <li>\n                    <a href="#" data-oe-model="event.registration" t-att-data-oe-id="registration.id"><t t-out="registration.name"/></a>:\n                    <span><t t-out="record_type"/> changed from <strong><t t-out="old_name"/></strong> to <strong><t t-out="new_name"/></strong></span>\n                </li>\n            </ul>\n        </div>\n    </div>\n</t>\n\n	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2309	16	\N	1	1	event.sale.report.view.form	event.sale.report	\N	form	event_sale/report/event_sale_report_views.xml	primary	{"en_US": "<form string=\\"Registration revenues\\" edit=\\"false\\" create=\\"false\\">\\n                <sheet>\\n                    <group col=\\"2\\">\\n                        <group string=\\"Event\\">\\n                            <field name=\\"event_type_id\\"/>\\n                            <field name=\\"event_id\\" placeholder=\\"All Events\\"/>\\n                            <field name=\\"event_date_begin\\"/>\\n                        </group>\\n                        <group string=\\"Registration\\">\\n                            <field name=\\"event_registration_id\\"/>\\n                            <field name=\\"event_registration_name\\"/>\\n                            <field name=\\"event_registration_create_date\\"/>\\n                            <field name=\\"event_slot_id\\"/>\\n                            <field name=\\"event_ticket_id\\"/>\\n                            <field name=\\"event_registration_state\\"/>\\n                        </group>\\n                    </group>\\n                    <group col=\\"2\\">\\n                        <group string=\\"Sale Order\\">\\n                            <field name=\\"sale_order_partner_id\\"/>\\n                            <field name=\\"sale_order_id\\"/>\\n                            <field name=\\"product_id\\"/>\\n                        </group>\\n                        <group string=\\"Revenues\\">\\n                            <field name=\\"event_ticket_price\\"/>\\n                            <field name=\\"sale_price_untaxed\\"/>\\n                            <field name=\\"sale_price\\"/>\\n                        </group>\\n                    </group>\\n                </sheet>\\n            </form>", "fr_FR": "<form string=\\"Revenus d'inscription\\" edit=\\"false\\" create=\\"false\\">\\n                <sheet>\\n                    <group col=\\"2\\">\\n                        <group string=\\"Événement\\">\\n                            <field name=\\"event_type_id\\"/>\\n                            <field name=\\"event_id\\" placeholder=\\"All Events\\"/>\\n                            <field name=\\"event_date_begin\\"/>\\n                        </group>\\n                        <group string=\\"Inscription\\">\\n                            <field name=\\"event_registration_id\\"/>\\n                            <field name=\\"event_registration_name\\"/>\\n                            <field name=\\"event_registration_create_date\\"/>\\n                            <field name=\\"event_slot_id\\"/>\\n                            <field name=\\"event_ticket_id\\"/>\\n                            <field name=\\"event_registration_state\\"/>\\n                        </group>\\n                    </group>\\n                    <group col=\\"2\\">\\n                        <group string=\\"Commande client\\">\\n                            <field name=\\"sale_order_partner_id\\"/>\\n                            <field name=\\"sale_order_id\\"/>\\n                            <field name=\\"product_id\\"/>\\n                        </group>\\n                        <group string=\\"Revenus\\">\\n                            <field name=\\"event_ticket_price\\"/>\\n                            <field name=\\"sale_price_untaxed\\"/>\\n                            <field name=\\"sale_price\\"/>\\n                        </group>\\n                    </group>\\n                </sheet>\\n            </form>"}	<?xml version="1.0"?>\n<form string="Registration revenues" edit="false" create="false">\n                <sheet>\n                    <group col="2">\n                        <group string="Event">\n                            <field name="event_type_id"/>\n                            <field name="event_id" placeholder="All Events"/>\n                            <field name="event_date_begin"/>\n                        </group>\n                        <group string="Registration">\n                            <field name="event_registration_id"/>\n                            <field name="event_registration_name"/>\n                            <field name="event_registration_create_date"/>\n                            <field name="event_slot_id"/>\n                            <field name="event_ticket_id"/>\n                            <field name="event_registration_state"/>\n                        </group>\n                    </group>\n                    <group col="2">\n                        <group string="Sale Order">\n                            <field name="sale_order_partner_id"/>\n                            <field name="sale_order_id"/>\n                            <field name="product_id"/>\n                        </group>\n                        <group string="Revenues">\n                            <field name="event_ticket_price"/>\n                            <field name="sale_price_untaxed"/>\n                            <field name="sale_price"/>\n                        </group>\n                    </group>\n                </sheet>\n            </form>\n        	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2314	16	\N	1	1	event.configurator.view.form	event.event.configurator	\N	form	event_sale/wizard/event_configurator_views.xml	primary	{"en_US": "<form js_class=\\"event_configurator_form\\">\\n                <field name=\\"has_available_tickets\\" invisible=\\"1\\"/>\\n                <div invisible=\\"has_available_tickets\\">\\n                    We could not find a matching event ticket for this product. <br/>\\n                    <a role=\\"button\\" class=\\"btn btn-link\\" target=\\"_blank\\" href=\\"/odoo/action-event.action_event_view\\">\\n                        <i class=\\"fa fa-arrow-right\\"/> Configure Events &amp; Tickets\\n                    </a>\\n                </div>\\n                <group invisible=\\"not has_available_tickets\\">\\n                    <field name=\\"event_id\\" domain=\\"[                             ('event_ticket_ids.product_id','=', product_id),                             ('date_end','&gt;=',time.strftime('%Y-%m-%d 00:00:00'))                         ]\\" required=\\"1\\" context=\\"{'name_with_seats_availability': True}\\" options=\\"{'no_open': True, 'no_create': True}\\" placeholder=\\"All Events\\"/>\\n                    <field name=\\"event_slot_id\\" domain=\\"[('event_id', '=', event_id)]\\" invisible=\\"not is_multi_slots\\" required=\\"is_multi_slots\\" context=\\"{'name_with_seats_availability': True}\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                    <field name=\\"event_ticket_id\\" domain=\\"[('event_id', '=', event_id), ('product_id', '=', product_id)]\\" invisible=\\"not event_id\\" required=\\"event_id\\" context=\\"{'name_with_seats_availability': True}\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                    <field name=\\"product_id\\" invisible=\\"1\\"/>\\n                </group>\\n                <footer>\\n                    <button string=\\"Add\\" invisible=\\"not has_available_tickets\\" class=\\"btn-primary o_event_sale_js_event_configurator_ok\\" special=\\"save\\" data-hotkey=\\"q\\"/>\\n                    <button string=\\"Discard\\" invisible=\\"not has_available_tickets\\" class=\\"btn-secondary\\" special=\\"cancel\\" data-hotkey=\\"x\\"/>\\n                    <button string=\\"Close\\" invisible=\\"has_available_tickets\\" class=\\"btn-secondary\\" special=\\"cancel\\" data-hotkey=\\"x\\"/>\\n                </footer>\\n            </form>", "fr_FR": "<form js_class=\\"event_configurator_form\\">\\n                <field name=\\"has_available_tickets\\" invisible=\\"1\\"/>\\n                <div invisible=\\"has_available_tickets\\">\\n                    Impossible de trouver un ticket d'événement correspondant à ce produit. <br/>\\n                    <a role=\\"button\\" class=\\"btn btn-link\\" target=\\"_blank\\" href=\\"/odoo/action-event.action_event_view\\">\\n                        <i class=\\"fa fa-arrow-right\\"/> Configurer les événements et les tickets\\n                    </a>\\n                </div>\\n                <group invisible=\\"not has_available_tickets\\">\\n                    <field name=\\"event_id\\" domain=\\"[                             ('event_ticket_ids.product_id','=', product_id),                             ('date_end','&gt;=',time.strftime('%Y-%m-%d 00:00:00'))                         ]\\" required=\\"1\\" context=\\"{'name_with_seats_availability': True}\\" options=\\"{'no_open': True, 'no_create': True}\\" placeholder=\\"All Events\\"/>\\n                    <field name=\\"event_slot_id\\" domain=\\"[('event_id', '=', event_id)]\\" invisible=\\"not is_multi_slots\\" required=\\"is_multi_slots\\" context=\\"{'name_with_seats_availability': True}\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                    <field name=\\"event_ticket_id\\" domain=\\"[('event_id', '=', event_id), ('product_id', '=', product_id)]\\" invisible=\\"not event_id\\" required=\\"event_id\\" context=\\"{'name_with_seats_availability': True}\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                    <field name=\\"product_id\\" invisible=\\"1\\"/>\\n                </group>\\n                <footer>\\n                    <button string=\\"Ajouter\\" invisible=\\"not has_available_tickets\\" class=\\"btn-primary o_event_sale_js_event_configurator_ok\\" special=\\"save\\" data-hotkey=\\"q\\"/>\\n                    <button string=\\"Ignorer\\" invisible=\\"not has_available_tickets\\" class=\\"btn-secondary\\" special=\\"cancel\\" data-hotkey=\\"x\\"/>\\n                    <button string=\\"Fermer\\" invisible=\\"has_available_tickets\\" class=\\"btn-secondary\\" special=\\"cancel\\" data-hotkey=\\"x\\"/>\\n                </footer>\\n            </form>"}	<?xml version="1.0"?>\n<form js_class="event_configurator_form">\n                <field name="has_available_tickets" invisible="1"/>\n                <div invisible="has_available_tickets">\n                    We could not find a matching event ticket for this product. <br/>\n                    <a role="button" class="btn btn-link" target="_blank" href="/odoo/action-event.action_event_view">\n                        <i class="fa fa-arrow-right"/> Configure Events &amp; Tickets\n                    </a>\n                </div>\n                <group invisible="not has_available_tickets">\n                    <field name="event_id" domain="[                             ('event_ticket_ids.product_id','=', product_id),                             ('date_end','&gt;=',time.strftime('%Y-%m-%d 00:00:00'))                         ]" required="1" context="{'name_with_seats_availability': True}" options="{'no_open': True, 'no_create': True}" placeholder="All Events"/>\n                    <field name="event_slot_id" domain="[('event_id', '=', event_id)]" invisible="not is_multi_slots" required="is_multi_slots" context="{'name_with_seats_availability': True}" options="{'no_open': True, 'no_create': True}"/>\n                    <field name="event_ticket_id" domain="[('event_id', '=', event_id), ('product_id', '=', product_id)]" invisible="not event_id" required="event_id" context="{'name_with_seats_availability': True}" options="{'no_open': True, 'no_create': True}"/>\n                    <field name="product_id" invisible="1"/>\n                </group>\n                <footer>\n                    <button string="Add" invisible="not has_available_tickets" class="btn-primary o_event_sale_js_event_configurator_ok" special="save" data-hotkey="q"/>\n                    <button string="Discard" invisible="not has_available_tickets" class="btn-secondary" special="cancel" data-hotkey="x"/>\n                    <button string="Close" invisible="has_available_tickets" class="btn-secondary" special="cancel" data-hotkey="x"/>\n                </footer>\n            </form>\n        	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2303	16	1950	1	1	event.registration.form.inherit	event.registration	\N	form	event_sale/views/event_registration_views.xml	extension	{"en_US": "<data><xpath expr=\\"//div[@name='button_box']\\" position=\\"inside\\">\\n                <button name=\\"action_view_sale_order\\" type=\\"object\\" class=\\"oe_stat_button\\" icon=\\"fa-usd\\" groups=\\"sales_team.group_sale_salesman\\" invisible=\\"not sale_order_id\\">\\n                        <div class=\\"o_stat_info\\">\\n                            <span class=\\"o_stat_text\\">Sale Order</span>\\n                        </div>\\n                </button>\\n            </xpath>\\n            <group name=\\"transaction\\" position=\\"inside\\">\\n                <field name=\\"sale_order_id\\"/>\\n                <field name=\\"sale_order_line_id\\" readonly=\\"1\\" invisible=\\"not sale_order_id\\"/>\\n            </group>\\n        </data>", "fr_FR": "<data><xpath expr=\\"//div[@name='button_box']\\" position=\\"inside\\">\\n                <button name=\\"action_view_sale_order\\" type=\\"object\\" class=\\"oe_stat_button\\" icon=\\"fa-usd\\" groups=\\"sales_team.group_sale_salesman\\" invisible=\\"not sale_order_id\\">\\n                        <div class=\\"o_stat_info\\">\\n                            <span class=\\"o_stat_text\\">Commande client</span>\\n                        </div>\\n                </button>\\n            </xpath>\\n            <group name=\\"transaction\\" position=\\"inside\\">\\n                <field name=\\"sale_order_id\\"/>\\n                <field name=\\"sale_order_line_id\\" readonly=\\"1\\" invisible=\\"not sale_order_id\\"/>\\n            </group>\\n        </data>"}	<?xml version="1.0"?>\n<data><xpath expr="//div[@name='button_box']" position="inside">\n                <button name="action_view_sale_order" type="object" class="oe_stat_button" icon="fa-usd" groups="sales_team.group_sale_salesman" invisible="not sale_order_id">\n                        <div class="o_stat_info">\n                            <span class="o_stat_text">Sale Order</span>\n                        </div>\n                </button>\n            </xpath>\n            <group name="transaction" position="inside">\n                <field name="sale_order_id"/>\n                <field name="sale_order_line_id" readonly="1" invisible="not sale_order_id"/>\n            </group>\n        </data>	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2308	16	\N	1	1	event.sale.report.view.graph	event.sale.report	\N	graph	event_sale/report/event_sale_report_views.xml	primary	{"en_US": "<graph string=\\"Revenues\\" sample=\\"1\\" type=\\"line\\">\\n                <field name=\\"sale_price\\" type=\\"measure\\"/>\\n                <field name=\\"event_registration_create_date\\" interval=\\"day\\"/>\\n                <field name=\\"event_ticket_price\\" type=\\"measure\\" invisible=\\"True\\"/>\\n            </graph>", "fr_FR": "<graph string=\\"Revenus\\" sample=\\"1\\" type=\\"line\\">\\n                <field name=\\"sale_price\\" type=\\"measure\\"/>\\n                <field name=\\"event_registration_create_date\\" interval=\\"day\\"/>\\n                <field name=\\"event_ticket_price\\" type=\\"measure\\" invisible=\\"True\\"/>\\n            </graph>"}	<?xml version="1.0"?>\n<graph string="Revenues" sample="1" type="line">\n                <field name="sale_price" type="measure"/>\n                <field name="event_registration_create_date" interval="day"/>\n                <field name="event_ticket_price" type="measure" invisible="True"/>\n            </graph>\n        	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2310	16	\N	1	1	event.sale.report.view.pivot	event.sale.report	\N	pivot	event_sale/report/event_sale_report_views.xml	primary	{"en_US": "<pivot string=\\"Revenues\\" sample=\\"1\\">\\n                <field name=\\"sale_price_untaxed\\" type=\\"measure\\"/>\\n                <field name=\\"sale_price\\" type=\\"measure\\"/>\\n                <field name=\\"event_id\\" type=\\"row\\"/>\\n                <field name=\\"product_id\\" type=\\"row\\"/>\\n                <field name=\\"event_ticket_price\\" invisible=\\"True\\"/>\\n            </pivot>", "fr_FR": "<pivot string=\\"Revenus\\" sample=\\"1\\">\\n                <field name=\\"sale_price_untaxed\\" type=\\"measure\\"/>\\n                <field name=\\"sale_price\\" type=\\"measure\\"/>\\n                <field name=\\"event_id\\" type=\\"row\\"/>\\n                <field name=\\"product_id\\" type=\\"row\\"/>\\n                <field name=\\"event_ticket_price\\" invisible=\\"True\\"/>\\n            </pivot>"}	<?xml version="1.0"?>\n<pivot string="Revenues" sample="1">\n                <field name="sale_price_untaxed" type="measure"/>\n                <field name="sale_price" type="measure"/>\n                <field name="event_id" type="row"/>\n                <field name="product_id" type="row"/>\n                <field name="event_ticket_price" invisible="True"/>\n            </pivot>\n        	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2312	16	\N	1	1	event.sale.report.view.search	event.sale.report	\N	search	event_sale/report/event_sale_report_views.xml	primary	{"en_US": "<search string=\\"Event Sales Analysis\\">\\n                <field name=\\"event_id\\"/>\\n                <field name=\\"event_registration_name\\" string=\\"Participant\\"/>\\n                <field name=\\"sale_order_partner_id\\" string=\\"Booked by\\"/>\\n                <field name=\\"company_id\\"/>\\n                <filter string=\\"Non-free tickets\\" name=\\"priced_tickets\\" domain=\\"[('event_ticket_price', '!=', 0)]\\"/>\\n                <separator/>\\n                <filter string=\\"Free\\" name=\\"free\\" domain=\\"[('sale_status', '=', 'free')]\\"/>\\n                <filter string=\\"Pending payment\\" name=\\"payment_pending\\" domain=\\"[('sale_status', '=', 'to_pay')]\\"/>\\n                <filter string=\\"Sold\\" name=\\"is_sold\\" domain=\\"[('sale_status', '=', 'sold')]\\"/>\\n                <separator/>\\n                <filter string=\\"Registration Date\\" name=\\"event_registration_create_date\\" date=\\"event_registration_create_date\\" default_period=\\"year\\"/>\\n                <separator/>\\n                <filter string=\\"Upcoming/Running\\" name=\\"upcoming\\" help=\\"Upcoming events from today\\" domain=\\"[('event_date_end', '&gt;=', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]\\"/>\\n                <filter string=\\"Past Events\\" name=\\"past\\" help=\\"Events that have ended\\" domain=\\"[('event_date_end', '&lt;', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]\\"/>\\n                <filter string=\\"Event Start Date\\" name=\\"event_date_start\\" date=\\"event_date_begin\\" default_period=\\"year\\"/>\\n                <filter string=\\"Event End Date\\" name=\\"event_date_end\\" date=\\"event_date_end\\"/>\\n                <group expand=\\"0\\" string=\\"Group By\\">\\n                    <filter string=\\"Event Type\\" name=\\"group_by_event_type_id\\" context=\\"{'group_by': 'event_type_id' }\\"/>\\n                    <filter string=\\"Event\\" name=\\"group_by_event_id\\" context=\\"{'group_by': 'event_id' }\\"/>\\n                    <separator/>\\n                    <filter string=\\"Product\\" name=\\"group_by_product_id\\" context=\\"{'group_by': 'product_id'}\\"/>\\n                    <filter string=\\"Slot\\" name=\\"group_by_slot_id\\" context=\\"{'group_by': 'event_slot_id'}\\"/>\\n                    <filter string=\\"Ticket\\" name=\\"group_by_ticket_id\\" context=\\"{'group_by': 'event_ticket_id'}\\"/>\\n                    <separator/>\\n                    <filter string=\\"Registration Status\\" name=\\"group_by_registration_state\\" context=\\"{'group_by': 'event_registration_state'}\\"/>\\n                    <filter string=\\"Sale Order Status\\" name=\\"group_by_sale_order_state\\" context=\\"{'group_by': 'sale_order_state'}\\"/>\\n                    <filter string=\\"Customer\\" name=\\"group_by_customer\\" context=\\"{'group_by': 'sale_order_partner_id'}\\"/>\\n                </group>\\n            </search>", "fr_FR": "<search string=\\"Analyse des ventes d'événements\\">\\n                <field name=\\"event_id\\"/>\\n                <field name=\\"event_registration_name\\" string=\\"Participant\\"/>\\n                <field name=\\"sale_order_partner_id\\" string=\\"Réservé par\\"/>\\n                <field name=\\"company_id\\"/>\\n                <filter string=\\"Tickets non gratuits\\" name=\\"priced_tickets\\" domain=\\"[('event_ticket_price', '!=', 0)]\\"/>\\n                <separator/>\\n                <filter string=\\"Gratuit\\" name=\\"free\\" domain=\\"[('sale_status', '=', 'free')]\\"/>\\n                <filter string=\\"Paiement en attente\\" name=\\"payment_pending\\" domain=\\"[('sale_status', '=', 'to_pay')]\\"/>\\n                <filter string=\\"Vendu\\" name=\\"is_sold\\" domain=\\"[('sale_status', '=', 'sold')]\\"/>\\n                <separator/>\\n                <filter string=\\"Date d'inscription\\" name=\\"event_registration_create_date\\" date=\\"event_registration_create_date\\" default_period=\\"year\\"/>\\n                <separator/>\\n                <filter string=\\"À venir/En cours\\" name=\\"upcoming\\" help=\\"Événements futurs à partir d'aujourd'hui\\" domain=\\"[('event_date_end', '&gt;=', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]\\"/>\\n                <filter string=\\"Événements passés\\" name=\\"past\\" help=\\"Événements terminés\\" domain=\\"[('event_date_end', '&lt;', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]\\"/>\\n                <filter string=\\"Date de début de l'événement\\" name=\\"event_date_start\\" date=\\"event_date_begin\\" default_period=\\"year\\"/>\\n                <filter string=\\"Date de fin d'événement\\" name=\\"event_date_end\\" date=\\"event_date_end\\"/>\\n                <group expand=\\"0\\" string=\\"Regrouper par\\">\\n                    <filter string=\\"Type d’événement\\" name=\\"group_by_event_type_id\\" context=\\"{'group_by': 'event_type_id' }\\"/>\\n                    <filter string=\\"Événement\\" name=\\"group_by_event_id\\" context=\\"{'group_by': 'event_id' }\\"/>\\n                    <separator/>\\n                    <filter string=\\"Produit\\" name=\\"group_by_product_id\\" context=\\"{'group_by': 'product_id'}\\"/>\\n                    <filter string=\\"Slot\\" name=\\"group_by_slot_id\\" context=\\"{'group_by': 'event_slot_id'}\\"/>\\n                    <filter string=\\"Ticket\\" name=\\"group_by_ticket_id\\" context=\\"{'group_by': 'event_ticket_id'}\\"/>\\n                    <separator/>\\n                    <filter string=\\"Statut de l'inscription\\" name=\\"group_by_registration_state\\" context=\\"{'group_by': 'event_registration_state'}\\"/>\\n                    <filter string=\\"Statut de la commande\\" name=\\"group_by_sale_order_state\\" context=\\"{'group_by': 'sale_order_state'}\\"/>\\n                    <filter string=\\"Client\\" name=\\"group_by_customer\\" context=\\"{'group_by': 'sale_order_partner_id'}\\"/>\\n                </group>\\n            </search>"}	<?xml version="1.0"?>\n<search string="Event Sales Analysis">\n                <field name="event_id"/>\n                <field name="event_registration_name" string="Participant"/>\n                <field name="sale_order_partner_id" string="Booked by"/>\n                <field name="company_id"/>\n                <filter string="Non-free tickets" name="priced_tickets" domain="[('event_ticket_price', '!=', 0)]"/>\n                <separator/>\n                <filter string="Free" name="free" domain="[('sale_status', '=', 'free')]"/>\n                <filter string="Pending payment" name="payment_pending" domain="[('sale_status', '=', 'to_pay')]"/>\n                <filter string="Sold" name="is_sold" domain="[('sale_status', '=', 'sold')]"/>\n                <separator/>\n                <filter string="Registration Date" name="event_registration_create_date" date="event_registration_create_date" default_period="year"/>\n                <separator/>\n                <filter string="Upcoming/Running" name="upcoming" help="Upcoming events from today" domain="[('event_date_end', '&gt;=', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]"/>\n                <filter string="Past Events" name="past" help="Events that have ended" domain="[('event_date_end', '&lt;', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]"/>\n                <filter string="Event Start Date" name="event_date_start" date="event_date_begin" default_period="year"/>\n                <filter string="Event End Date" name="event_date_end" date="event_date_end"/>\n                <group expand="0" string="Group By">\n                    <filter string="Event Type" name="group_by_event_type_id" context="{'group_by': 'event_type_id' }"/>\n                    <filter string="Event" name="group_by_event_id" context="{'group_by': 'event_id' }"/>\n                    <separator/>\n                    <filter string="Product" name="group_by_product_id" context="{'group_by': 'product_id'}"/>\n                    <filter string="Slot" name="group_by_slot_id" context="{'group_by': 'event_slot_id'}"/>\n                    <filter string="Ticket" name="group_by_ticket_id" context="{'group_by': 'event_ticket_id'}"/>\n                    <separator/>\n                    <filter string="Registration Status" name="group_by_registration_state" context="{'group_by': 'event_registration_state'}"/>\n                    <filter string="Sale Order Status" name="group_by_sale_order_state" context="{'group_by': 'sale_order_state'}"/>\n                    <filter string="Customer" name="group_by_customer" context="{'group_by': 'sale_order_partner_id'}"/>\n                </group>\n            </search>\n        	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2311	16	\N	1	1	event.sale.report.view.list	event.sale.report	\N	list	event_sale/report/event_sale_report_views.xml	primary	{"en_US": "<list string=\\"Revenues\\" edit=\\"false\\" create=\\"false\\">\\n                <field name=\\"event_id\\"/>\\n                <field name=\\"event_slot_id\\"/>\\n                <field name=\\"event_ticket_id\\"/>\\n                <field name=\\"product_id\\" optional=\\"hide\\"/>\\n                <field name=\\"event_ticket_price\\"/>\\n                <field name=\\"sale_price_untaxed\\" optional=\\"hide\\"/>\\n                <field name=\\"sale_price\\" optional=\\"hide\\"/>\\n                <field name=\\"event_registration_state\\" optional=\\"hide\\"/>\\n                <field name=\\"sale_order_partner_id\\"/>\\n                <field name=\\"invoice_partner_id\\" optional=\\"hide\\"/>\\n                <field name=\\"event_registration_name\\" optional=\\"hide\\"/>\\n                <field name=\\"sale_order_state\\" widget=\\"badge\\" decoration-success=\\"sale_order_state == 'sale'\\" decoration-info=\\"sale_order_state == 'draft' or sale_order_state == 'sent'\\"/>\\n            </list>", "fr_FR": "<list string=\\"Revenus\\" edit=\\"false\\" create=\\"false\\">\\n                <field name=\\"event_id\\"/>\\n                <field name=\\"event_slot_id\\"/>\\n                <field name=\\"event_ticket_id\\"/>\\n                <field name=\\"product_id\\" optional=\\"hide\\"/>\\n                <field name=\\"event_ticket_price\\"/>\\n                <field name=\\"sale_price_untaxed\\" optional=\\"hide\\"/>\\n                <field name=\\"sale_price\\" optional=\\"hide\\"/>\\n                <field name=\\"event_registration_state\\" optional=\\"hide\\"/>\\n                <field name=\\"sale_order_partner_id\\"/>\\n                <field name=\\"invoice_partner_id\\" optional=\\"hide\\"/>\\n                <field name=\\"event_registration_name\\" optional=\\"hide\\"/>\\n                <field name=\\"sale_order_state\\" widget=\\"badge\\" decoration-success=\\"sale_order_state == 'sale'\\" decoration-info=\\"sale_order_state == 'draft' or sale_order_state == 'sent'\\"/>\\n            </list>"}	<?xml version="1.0"?>\n<list string="Revenues" edit="false" create="false">\n                <field name="event_id"/>\n                <field name="event_slot_id"/>\n                <field name="event_ticket_id"/>\n                <field name="product_id" optional="hide"/>\n                <field name="event_ticket_price"/>\n                <field name="sale_price_untaxed" optional="hide"/>\n                <field name="sale_price" optional="hide"/>\n                <field name="event_registration_state" optional="hide"/>\n                <field name="sale_order_partner_id"/>\n                <field name="invoice_partner_id" optional="hide"/>\n                <field name="event_registration_name" optional="hide"/>\n                <field name="sale_order_state" widget="badge" decoration-success="sale_order_state == 'sale'" decoration-info="sale_order_state == 'draft' or sale_order_state == 'sent'"/>\n            </list>\n        	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2306	16	2063	1	1	sale.order.form.inherit.event.sale	sale.order	\N	form	event_sale/views/sale_order_views.xml	extension	{"en_US": "<data><div name=\\"button_box\\" position=\\"inside\\">\\n                <button name=\\"action_view_attendee_list\\" type=\\"object\\" class=\\"oe_stat_button\\" icon=\\"fa-users\\" invisible=\\"attendee_count == 0\\">\\n                    <field name=\\"attendee_count\\" widget=\\"statinfo\\" string=\\"Attendees\\"/>\\n                </button>\\n            </div>\\n            <xpath expr=\\"//field[@name='order_line']//form//field[@name='product_id']\\" position=\\"after\\">\\n                <field name=\\"event_id\\" domain=\\"[                         ('event_ticket_ids.product_id','=', product_id),                         ('date_end','&gt;=',time.strftime('%Y-%m-%d 00:00:00')),                         '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]\\" invisible=\\"service_tracking != 'event'\\" required=\\"service_tracking == 'event'\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                <field name=\\"event_slot_id\\" domain=\\"[('event_id','=', event_id)]\\" invisible=\\"not is_multi_slots or service_tracking != 'event'\\" required=\\"is_multi_slots and service_tracking == 'event'\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                <field name=\\"event_ticket_id\\" domain=\\"[                         ('event_id', '=', event_id), ('product_id','=',product_id),                          '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]\\" invisible=\\"service_tracking != 'event' or not event_id\\" required=\\"service_tracking == 'event' and event_id\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n            </xpath>\\n            <xpath expr=\\"//field[@name='order_line']//list//field[@name='product_template_id']\\" position=\\"after\\">\\n                <field name=\\"event_id\\" column_invisible=\\"True\\" domain=\\"[                         ('event_ticket_ids.product_id','=', product_id),                         ('date_end','&gt;=',time.strftime('%Y-%m-%d 00:00:00')),                         '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]\\" required=\\"service_tracking == 'event'\\" options=\\"{'no_open': True, 'no_create': True}\\" placeholder=\\"All Events\\"/>\\n                <field name=\\"event_slot_id\\" column_invisible=\\"True\\" domain=\\"[('event_id','=', event_id)]\\" required=\\"is_multi_slots and service_tracking == 'event'\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                <field name=\\"event_ticket_id\\" column_invisible=\\"True\\" domain=\\"[                         ('event_id', '=', event_id), ('product_id','=',product_id),                          '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]\\" required=\\"service_tracking == 'event' and event_id\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n            </xpath>\\n        </data>", "fr_FR": "<data><div name=\\"button_box\\" position=\\"inside\\">\\n                <button name=\\"action_view_attendee_list\\" type=\\"object\\" class=\\"oe_stat_button\\" icon=\\"fa-users\\" invisible=\\"attendee_count == 0\\">\\n                    <field name=\\"attendee_count\\" widget=\\"statinfo\\" string=\\"Participants\\"/>\\n                </button>\\n            </div>\\n            <xpath expr=\\"//field[@name='order_line']//form//field[@name='product_id']\\" position=\\"after\\">\\n                <field name=\\"event_id\\" domain=\\"[                         ('event_ticket_ids.product_id','=', product_id),                         ('date_end','&gt;=',time.strftime('%Y-%m-%d 00:00:00')),                         '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]\\" invisible=\\"service_tracking != 'event'\\" required=\\"service_tracking == 'event'\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                <field name=\\"event_slot_id\\" domain=\\"[('event_id','=', event_id)]\\" invisible=\\"not is_multi_slots or service_tracking != 'event'\\" required=\\"is_multi_slots and service_tracking == 'event'\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                <field name=\\"event_ticket_id\\" domain=\\"[                         ('event_id', '=', event_id), ('product_id','=',product_id),                          '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]\\" invisible=\\"service_tracking != 'event' or not event_id\\" required=\\"service_tracking == 'event' and event_id\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n            </xpath>\\n            <xpath expr=\\"//field[@name='order_line']//list//field[@name='product_template_id']\\" position=\\"after\\">\\n                <field name=\\"event_id\\" column_invisible=\\"True\\" domain=\\"[                         ('event_ticket_ids.product_id','=', product_id),                         ('date_end','&gt;=',time.strftime('%Y-%m-%d 00:00:00')),                         '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]\\" required=\\"service_tracking == 'event'\\" options=\\"{'no_open': True, 'no_create': True}\\" placeholder=\\"All Events\\"/>\\n                <field name=\\"event_slot_id\\" column_invisible=\\"True\\" domain=\\"[('event_id','=', event_id)]\\" required=\\"is_multi_slots and service_tracking == 'event'\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n                <field name=\\"event_ticket_id\\" column_invisible=\\"True\\" domain=\\"[                         ('event_id', '=', event_id), ('product_id','=',product_id),                          '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]\\" required=\\"service_tracking == 'event' and event_id\\" options=\\"{'no_open': True, 'no_create': True}\\"/>\\n            </xpath>\\n        </data>"}	<?xml version="1.0"?>\n<data><div name="button_box" position="inside">\n                <button name="action_view_attendee_list" type="object" class="oe_stat_button" icon="fa-users" invisible="attendee_count == 0">\n                    <field name="attendee_count" widget="statinfo" string="Attendees"/>\n                </button>\n            </div>\n            <xpath expr="//field[@name='order_line']//form//field[@name='product_id']" position="after">\n                <field name="event_id" domain="[                         ('event_ticket_ids.product_id','=', product_id),                         ('date_end','&gt;=',time.strftime('%Y-%m-%d 00:00:00')),                         '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]" invisible="service_tracking != 'event'" required="service_tracking == 'event'" options="{'no_open': True, 'no_create': True}"/>\n                <field name="event_slot_id" domain="[('event_id','=', event_id)]" invisible="not is_multi_slots or service_tracking != 'event'" required="is_multi_slots and service_tracking == 'event'" options="{'no_open': True, 'no_create': True}"/>\n                <field name="event_ticket_id" domain="[                         ('event_id', '=', event_id), ('product_id','=',product_id),                          '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]" invisible="service_tracking != 'event' or not event_id" required="service_tracking == 'event' and event_id" options="{'no_open': True, 'no_create': True}"/>\n            </xpath>\n            <xpath expr="//field[@name='order_line']//list//field[@name='product_template_id']" position="after">\n                <field name="event_id" column_invisible="True" domain="[                         ('event_ticket_ids.product_id','=', product_id),                         ('date_end','&gt;=',time.strftime('%Y-%m-%d 00:00:00')),                         '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]" required="service_tracking == 'event'" options="{'no_open': True, 'no_create': True}" placeholder="All Events"/>\n                <field name="event_slot_id" column_invisible="True" domain="[('event_id','=', event_id)]" required="is_multi_slots and service_tracking == 'event'" options="{'no_open': True, 'no_create': True}"/>\n                <field name="event_ticket_id" column_invisible="True" domain="[                         ('event_id', '=', event_id), ('product_id','=',product_id),                          '|', ('company_id', '=', False), ('company_id', '=', parent.company_id)                     ]" required="service_tracking == 'event' and event_id" options="{'no_open': True, 'no_create': True}"/>\n            </xpath>\n        </data>	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2304	20	1610	1	1	event.form.inherit	event.event	\N	form	event_sale/views/event_views.xml	extension	{"en_US": "<xpath expr=\\"//button[@name='248']\\" position=\\"after\\">\\n                <field name=\\"currency_id\\" invisible=\\"1\\"/>\\n                <button name=\\"action_view_linked_orders\\" type=\\"object\\" class=\\"oe_stat_button\\" icon=\\"fa-dollar\\" groups=\\"sales_team.group_sale_salesman\\" help=\\"Total sales for this event\\" invisible=\\"sale_price_total == 0 or not sale_price_total\\">\\n                    <div class=\\"o_field_widget o_stat_info\\">\\n                        <span class=\\"o_stat_value\\">\\n                            <field string=\\"Sales\\" name=\\"sale_price_total\\" widget=\\"monetary\\" options=\\"{'currency_field': 'currency_id'}\\"/>\\n                            </span>\\n                        <span class=\\"o_stat_text\\">Sales</span>\\n                    </div>\\n                </button>\\n            </xpath>", "fr_FR": "<xpath expr=\\"//button[@name='248']\\" position=\\"after\\">\\n                <field name=\\"currency_id\\" invisible=\\"1\\"/>\\n                <button name=\\"action_view_linked_orders\\" type=\\"object\\" class=\\"oe_stat_button\\" icon=\\"fa-dollar\\" groups=\\"sales_team.group_sale_salesman\\" help=\\"Ventes totales pour cet événement\\" invisible=\\"sale_price_total == 0 or not sale_price_total\\">\\n                    <div class=\\"o_field_widget o_stat_info\\">\\n                        <span class=\\"o_stat_value\\">\\n                            <field string=\\"Ventes\\" name=\\"sale_price_total\\" widget=\\"monetary\\" options=\\"{'currency_field': 'currency_id'}\\"/>\\n                            </span>\\n                        <span class=\\"o_stat_text\\">Ventes</span>\\n                    </div>\\n                </button>\\n            </xpath>"}	<?xml version="1.0"?>\n<xpath expr="//button[@name='248']" position="after">\n                <field name="currency_id" invisible="1"/>\n                <button name="action_view_linked_orders" type="object" class="oe_stat_button" icon="fa-dollar" groups="sales_team.group_sale_salesman" help="Total sales for this event" invisible="sale_price_total == 0 or not sale_price_total">\n                    <div class="o_field_widget o_stat_info">\n                        <span class="o_stat_value">\n                            <field string="Sales" name="sale_price_total" widget="monetary" options="{'currency_field': 'currency_id'}"/>\n                            </span>\n                        <span class="o_stat_text">Sales</span>\n                    </div>\n                </button>\n            </xpath>\n        	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2313	16	\N	1	1	registration.editor.form	registration.editor	\N	form	event_sale/wizard/event_edit_registration.xml	primary	{"en_US": "<form string=\\"Registration\\">\\n                    <sheet>\\n                        <p>Before updating the linked registrations of <field name=\\"sale_order_id\\" readonly=\\"1\\" class=\\"oe_inline\\"/>\\n                        please provide attendee details.</p>\\n                        <field name=\\"event_registration_ids\\">\\n                            <list string=\\"Registration\\" editable=\\"top\\" create=\\"false\\" delete=\\"false\\">\\n                                <field name=\\"event_id\\" readonly=\\"1\\" force_save=\\"1\\"/>\\n                                <field name=\\"registration_id\\" readonly=\\"1\\" force_save=\\"1\\"/>\\n                                <field name=\\"event_slot_id\\" domain=\\"[('event_id', '=', event_id)]\\" readonly=\\"1\\" force_save=\\"1\\"/>\\n                                <field name=\\"event_ticket_id\\" domain=\\"[('event_id', '=', event_id)]\\" readonly=\\"1\\" force_save=\\"1\\"/>\\n                                <field name=\\"name\\"/>\\n                                <field name=\\"email\\"/>\\n                                <field name=\\"phone\\" class=\\"o_force_ltr\\"/>\\n                                <field name=\\"company_id\\" groups=\\"base.group_multi_company\\" optional=\\"hide\\"/>\\n                                <field name=\\"sale_order_line_id\\" column_invisible=\\"True\\"/>\\n                            </list>\\n                        </field>\\n                    </sheet>\\n                    <footer>\\n                        <button string=\\"Create/Update registrations\\" name=\\"action_make_registration\\" type=\\"object\\" class=\\"btn-primary\\" data-hotkey=\\"q\\"/>\\n                    </footer>\\n                </form>", "fr_FR": "<form string=\\"Inscription\\">\\n                    <sheet>\\n                        <p>Avant de mettre à jour les inscriptions liées de <field name=\\"sale_order_id\\" readonly=\\"1\\" class=\\"oe_inline\\"/>\\n                        veuillez donner les détails des participants.</p>\\n                        <field name=\\"event_registration_ids\\">\\n                            <list string=\\"Inscription\\" editable=\\"top\\" create=\\"false\\" delete=\\"false\\">\\n                                <field name=\\"event_id\\" readonly=\\"1\\" force_save=\\"1\\"/>\\n                                <field name=\\"registration_id\\" readonly=\\"1\\" force_save=\\"1\\"/>\\n                                <field name=\\"event_slot_id\\" domain=\\"[('event_id', '=', event_id)]\\" readonly=\\"1\\" force_save=\\"1\\"/>\\n                                <field name=\\"event_ticket_id\\" domain=\\"[('event_id', '=', event_id)]\\" readonly=\\"1\\" force_save=\\"1\\"/>\\n                                <field name=\\"name\\"/>\\n                                <field name=\\"email\\"/>\\n                                <field name=\\"phone\\" class=\\"o_force_ltr\\"/>\\n                                <field name=\\"company_id\\" groups=\\"base.group_multi_company\\" optional=\\"hide\\"/>\\n                                <field name=\\"sale_order_line_id\\" column_invisible=\\"True\\"/>\\n                            </list>\\n                        </field>\\n                    </sheet>\\n                    <footer>\\n                        <button string=\\"Créer/Mettre à jour les inscriptions\\" name=\\"action_make_registration\\" type=\\"object\\" class=\\"btn-primary\\" data-hotkey=\\"q\\"/>\\n                    </footer>\\n                </form>"}	<?xml version="1.0"?>\n<form string="Registration">\n                    <sheet>\n                        <p>Before updating the linked registrations of <field name="sale_order_id" readonly="1" class="oe_inline"/>\n                        please provide attendee details.</p>\n                        <field name="event_registration_ids">\n                            <list string="Registration" editable="top" create="false" delete="false">\n                                <field name="event_id" readonly="1" force_save="1"/>\n                                <field name="registration_id" readonly="1" force_save="1"/>\n                                <field name="event_slot_id" domain="[('event_id', '=', event_id)]" readonly="1" force_save="1"/>\n                                <field name="event_ticket_id" domain="[('event_id', '=', event_id)]" readonly="1" force_save="1"/>\n                                <field name="name"/>\n                                <field name="email"/>\n                                <field name="phone" class="o_force_ltr"/>\n                                <field name="company_id" groups="base.group_multi_company" optional="hide"/>\n                                <field name="sale_order_line_id" column_invisible="True"/>\n                            </list>\n                        </field>\n                    </sheet>\n                    <footer>\n                        <button string="Create/Update registrations" name="action_make_registration" type="object" class="btn-primary" data-hotkey="q"/>\n                    </footer>\n                </form>\n            	f	t	2025-07-20 21:22:18.804159	2025-07-20 21:22:18.804159	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2318	16	\N	1	1	quotation.document.list	quotation.document	\N	list	sale_pdf_quote_builder/views/quotation_document_views.xml	primary	{"en_US": "<list editable=\\"top\\" multi_edit=\\"true\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"name\\"/>\\n                <field name=\\"document_type\\"/>\\n                <field name=\\"quotation_template_ids\\" widget=\\"many2many_tags\\"/>\\n                <field name=\\"add_by_default\\" widget=\\"boolean_toggle\\" optional=\\"show\\"/>\\n                <field name=\\"company_id\\" groups=\\"base.group_multi_company\\" optional=\\"show\\"/>\\n            </list>"}	<?xml version="1.0"?>\n<list editable="top" multi_edit="true">\n                <field name="sequence" widget="handle"/>\n                <field name="name"/>\n                <field name="document_type"/>\n                <field name="quotation_template_ids" widget="many2many_tags"/>\n                <field name="add_by_default" widget="boolean_toggle" optional="show"/>\n                <field name="company_id" groups="base.group_multi_company" optional="show"/>\n            </list>\n        	f	t	2025-07-20 21:22:19.025174	2025-07-20 21:22:19.025174	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2322	16	\N	1	1	sale.pdf.form.field.list	sale.pdf.form.field	\N	list	sale_pdf_quote_builder/views/sale_pdf_form_field_views.xml	primary	{"en_US": "<list editable=\\"top\\" multi_edit=\\"true\\" create=\\"false\\">\\n                <field name=\\"name\\"/>\\n                <field name=\\"path\\"/>\\n                <field name=\\"document_type\\"/>\\n                <field name=\\"product_document_ids\\" widget=\\"many2many_tags\\" optional=\\"hide\\"/>\\n                <field name=\\"quotation_document_ids\\" widget=\\"many2many_tags\\" optional=\\"hide\\"/>\\n            </list>"}	<?xml version="1.0"?>\n<list editable="top" multi_edit="true" create="false">\n                <field name="name"/>\n                <field name="path"/>\n                <field name="document_type"/>\n                <field name="product_document_ids" widget="many2many_tags" optional="hide"/>\n                <field name="quotation_document_ids" widget="many2many_tags" optional="hide"/>\n            </list>\n        	f	t	2025-07-20 21:22:19.025174	2025-07-20 21:22:19.025174	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2315	16	1511	1	1	product.document.form.sale	product.document	\N	form	sale_pdf_quote_builder/views/product_document_views.xml	extension	{"en_US": "<data><field name=\\"datas\\" position=\\"after\\">\\n                <button name=\\"action_open_pdf_form_fields\\" type=\\"object\\" string=\\"Configure dynamic fields\\" help=\\"Configure the path to fill the form fields.\\" class=\\"btn btn-link\\" icon=\\"fa-pencil\\" groups=\\"base.group_system\\"/>\\n            </field>\\n            <field name=\\"company_id\\" position=\\"before\\">\\n                <field name=\\"form_field_ids\\" widget=\\"many2many_tags\\"/>\\n            </field>\\n        </data>", "fr_FR": "<data><field name=\\"datas\\" position=\\"after\\">\\n                <button name=\\"action_open_pdf_form_fields\\" type=\\"object\\" string=\\"Configurer des champs dynamiques\\" help=\\"Configurer le chemin afin de remplir les champs formulaire.\\" class=\\"btn btn-link\\" icon=\\"fa-pencil\\" groups=\\"base.group_system\\"/>\\n            </field>\\n            <field name=\\"company_id\\" position=\\"before\\">\\n                <field name=\\"form_field_ids\\" widget=\\"many2many_tags\\"/>\\n            </field>\\n        </data>"}	<?xml version="1.0"?>\n<data><field name="datas" position="after">\n                <button name="action_open_pdf_form_fields" type="object" string="Configure dynamic fields" help="Configure the path to fill the form fields." class="btn btn-link" icon="fa-pencil" groups="base.group_system"/>\n            </field>\n            <field name="company_id" position="before">\n                <field name="form_field_ids" widget="many2many_tags"/>\n            </field>\n        </data>	f	t	2025-07-20 21:22:19.025174	2025-07-20 21:22:19.025174	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2316	16	\N	1	1	quotation.document.form	quotation.document	\N	form	sale_pdf_quote_builder/views/quotation_document_views.xml	primary	{"en_US": "<form>\\n                <sheet>\\n                    <h1>\\n                        <field name=\\"name\\" readonly=\\"not datas\\"/>\\n                    </h1>\\n                    <group>\\n                        <group>\\n                            <field name=\\"document_type\\"/>\\n                            <label for=\\"datas\\"/>\\n                            <div class=\\"o_row\\">\\n                                <field name=\\"datas\\" filename=\\"name\\" options=\\"{'accepted_file_extensions': '.pdf', 'allowed_mime_type' : 'application/pdf'}\\" class=\\"oe_inline\\"/>\\n                                <button name=\\"action_open_pdf_form_fields\\" type=\\"object\\" string=\\"Configure dynamic fields\\" help=\\"Mark fields as safe to fill in the quote.\\" class=\\"btn btn-link\\" icon=\\"fa-pencil\\" colspan=\\"2\\" groups=\\"base.group_system,base.group_no_one\\" invisible=\\"not (datas and form_field_ids)\\"/>\\n                            </div>\\n                            <field name=\\"quotation_template_ids\\" options=\\"{'no_create': True}\\" widget=\\"many2many_tags\\"/>\\n                            <field name=\\"add_by_default\\"/>\\n                        </group>\\n                    </group>\\n                    <group string=\\"Attached To\\" groups=\\"base.group_multi_company,base.group_no_one\\">\\n                        <field name=\\"company_id\\" placeholder=\\"Visible to all\\" groups=\\"base.group_multi_company\\" options=\\"{'no_create': True}\\" class=\\"oe_inline\\"/>\\n                        <field name=\\"form_field_ids\\" groups=\\"base.group_no_one\\" widget=\\"many2many_tags\\"/>\\n                    </group>\\n                    <group string=\\"History\\" groups=\\"base.group_no_one\\" invisible=\\"not create_date\\">\\n                        <label for=\\"create_uid\\" string=\\"Creation\\"/>\\n                        <div name=\\"creation_div\\">\\n                            <field name=\\"create_uid\\" readonly=\\"1\\" class=\\"oe_inline\\"/> on\\n                            <field name=\\"create_date\\" readonly=\\"1\\" class=\\"oe_inline\\"/>\\n                        </div>\\n                    </group>\\n                </sheet>\\n            </form>", "fr_FR": "<form>\\n                <sheet>\\n                    <h1>\\n                        <field name=\\"name\\" readonly=\\"not datas\\"/>\\n                    </h1>\\n                    <group>\\n                        <group>\\n                            <field name=\\"document_type\\"/>\\n                            <label for=\\"datas\\"/>\\n                            <div class=\\"o_row\\">\\n                                <field name=\\"datas\\" filename=\\"name\\" options=\\"{'accepted_file_extensions': '.pdf', 'allowed_mime_type' : 'application/pdf'}\\" class=\\"oe_inline\\"/>\\n                                <button name=\\"action_open_pdf_form_fields\\" type=\\"object\\" string=\\"Configurer des champs dynamiques\\" help=\\"Marquer les champs comme sécurisés pour être remplis dans le devis.\\" class=\\"btn btn-link\\" icon=\\"fa-pencil\\" colspan=\\"2\\" groups=\\"base.group_system,base.group_no_one\\" invisible=\\"not (datas and form_field_ids)\\"/>\\n                            </div>\\n                            <field name=\\"quotation_template_ids\\" options=\\"{'no_create': True}\\" widget=\\"many2many_tags\\"/>\\n                            <field name=\\"add_by_default\\"/>\\n                        </group>\\n                    </group>\\n                    <group string=\\"Attaché à\\" groups=\\"base.group_multi_company,base.group_no_one\\">\\n                        <field name=\\"company_id\\" placeholder=\\"Visible to all\\" groups=\\"base.group_multi_company\\" options=\\"{'no_create': True}\\" class=\\"oe_inline\\"/>\\n                        <field name=\\"form_field_ids\\" groups=\\"base.group_no_one\\" widget=\\"many2many_tags\\"/>\\n                    </group>\\n                    <group string=\\"Historique\\" groups=\\"base.group_no_one\\" invisible=\\"not create_date\\">\\n                        <label for=\\"create_uid\\" string=\\"Création\\"/>\\n                        <div name=\\"creation_div\\">\\n                            <field name=\\"create_uid\\" readonly=\\"1\\" class=\\"oe_inline\\"/> le\\n                            <field name=\\"create_date\\" readonly=\\"1\\" class=\\"oe_inline\\"/>\\n                        </div>\\n                    </group>\\n                </sheet>\\n            </form>"}	<?xml version="1.0"?>\n<form>\n                <sheet>\n                    <h1>\n                        <field name="name" readonly="not datas"/>\n                    </h1>\n                    <group>\n                        <group>\n                            <field name="document_type"/>\n                            <label for="datas"/>\n                            <div class="o_row">\n                                <field name="datas" filename="name" options="{'accepted_file_extensions': '.pdf', 'allowed_mime_type' : 'application/pdf'}" class="oe_inline"/>\n                                <button name="action_open_pdf_form_fields" type="object" string="Configure dynamic fields" help="Mark fields as safe to fill in the quote." class="btn btn-link" icon="fa-pencil" colspan="2" groups="base.group_system,base.group_no_one" invisible="not (datas and form_field_ids)"/>\n                            </div>\n                            <field name="quotation_template_ids" options="{'no_create': True}" widget="many2many_tags"/>\n                            <field name="add_by_default"/>\n                        </group>\n                    </group>\n                    <group string="Attached To" groups="base.group_multi_company,base.group_no_one">\n                        <field name="company_id" placeholder="Visible to all" groups="base.group_multi_company" options="{'no_create': True}" class="oe_inline"/>\n                        <field name="form_field_ids" groups="base.group_no_one" widget="many2many_tags"/>\n                    </group>\n                    <group string="History" groups="base.group_no_one" invisible="not create_date">\n                        <label for="create_uid" string="Creation"/>\n                        <div name="creation_div">\n                            <field name="create_uid" readonly="1" class="oe_inline"/> on\n                            <field name="create_date" readonly="1" class="oe_inline"/>\n                        </div>\n                    </group>\n                </sheet>\n            </form>\n        	f	t	2025-07-20 21:22:19.025174	2025-07-20 21:22:19.025174	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2317	16	\N	1	1	quotation.document.kanban	quotation.document	\N	kanban	sale_pdf_quote_builder/views/quotation_document_views.xml	primary	{"en_US": "<kanban js_class=\\"quotation_document_kanban\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"ir_attachment_id\\"/>\\n                <field name=\\"mimetype\\"/>\\n                <field name=\\"document_type\\"/>\\n                <field name=\\"name\\"/>\\n                <field name=\\"active\\"/>\\n                <templates>\\n                    <t t-name=\\"menu\\">\\n                        <a t-if=\\"widget.editable\\" type=\\"open\\" class=\\"dropdown-item\\">Edit</a>\\n                        <a t-if=\\"widget.deletable\\" type=\\"delete\\" class=\\"dropdown-item\\">Delete</a>\\n                        <a t-attf-href=\\"/web/content/#{record.ir_attachment_id.raw_value}?download=true\\" download=\\"\\" class=\\"dropdown-item\\">Download</a>\\n                    </t>\\n                    <t t-name=\\"card\\" class=\\"o_kanban_attachment flex-row\\">\\n                        <widget name=\\"web_ribbon\\" title=\\"Archived\\" bg_color=\\"text-bg-danger\\" invisible=\\"active\\"/>\\n                        <aside>\\n                            <div class=\\"o_image o_kanban_previewer w-100 h-100\\" t-att-data-mimetype=\\"record.mimetype.value\\"/>\\n                        </aside>\\n                        <main class=\\"ms-2\\">\\n                            <field name=\\"name\\" class=\\"fw-bolder text-truncate\\"/>\\n                            <div class=\\"d-flex mt-2\\">\\n                                <span>Document type:</span>\\n                                <field name=\\"document_type\\" class=\\"ms-2\\" widget=\\"selection\\"/>\\n                            </div>\\n                            <div t-if=\\"!context.hide_template_ids                                       and !!record.quotation_template_ids.raw_value.length\\" class=\\"mt-2\\">\\n                                <span class=\\"pe-2\\">Templates:</span>\\n                                <field name=\\"quotation_template_ids\\" class=\\"d-inline-block\\" widget=\\"many2many_tags\\"/>\\n                            </div>\\n                        </main>\\n                    </t>\\n                </templates>\\n            </kanban>", "fr_FR": "<kanban js_class=\\"quotation_document_kanban\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"ir_attachment_id\\"/>\\n                <field name=\\"mimetype\\"/>\\n                <field name=\\"document_type\\"/>\\n                <field name=\\"name\\"/>\\n                <field name=\\"active\\"/>\\n                <templates>\\n                    <t t-name=\\"menu\\">\\n                        <a t-if=\\"widget.editable\\" type=\\"open\\" class=\\"dropdown-item\\">Modifier</a>\\n                        <a t-if=\\"widget.deletable\\" type=\\"delete\\" class=\\"dropdown-item\\">Supprimer</a>\\n                        <a t-attf-href=\\"/web/content/#{record.ir_attachment_id.raw_value}?download=true\\" download=\\"\\" class=\\"dropdown-item\\">Télécharger</a>\\n                    </t>\\n                    <t t-name=\\"card\\" class=\\"o_kanban_attachment flex-row\\">\\n                        <widget name=\\"web_ribbon\\" title=\\"Archivé\\" bg_color=\\"text-bg-danger\\" invisible=\\"active\\"/>\\n                        <aside>\\n                            <div class=\\"o_image o_kanban_previewer w-100 h-100\\" t-att-data-mimetype=\\"record.mimetype.value\\"/>\\n                        </aside>\\n                        <main class=\\"ms-2\\">\\n                            <field name=\\"name\\" class=\\"fw-bolder text-truncate\\"/>\\n                            <div class=\\"d-flex mt-2\\">\\n                                <span>Type de document :</span>\\n                                <field name=\\"document_type\\" class=\\"ms-2\\" widget=\\"selection\\"/>\\n                            </div>\\n                            <div t-if=\\"!context.hide_template_ids                                       and !!record.quotation_template_ids.raw_value.length\\" class=\\"mt-2\\">\\n                                <span class=\\"pe-2\\">Modèles :</span>\\n                                <field name=\\"quotation_template_ids\\" class=\\"d-inline-block\\" widget=\\"many2many_tags\\"/>\\n                            </div>\\n                        </main>\\n                    </t>\\n                </templates>\\n            </kanban>"}	<?xml version="1.0"?>\n<kanban js_class="quotation_document_kanban">\n                <field name="sequence" widget="handle"/>\n                <field name="ir_attachment_id"/>\n                <field name="mimetype"/>\n                <field name="document_type"/>\n                <field name="name"/>\n                <field name="active"/>\n                <templates>\n                    <t t-name="menu">\n                        <a t-if="widget.editable" type="open" class="dropdown-item">Edit</a>\n                        <a t-if="widget.deletable" type="delete" class="dropdown-item">Delete</a>\n                        <a t-attf-href="/web/content/#{record.ir_attachment_id.raw_value}?download=true" download="" class="dropdown-item">Download</a>\n                    </t>\n                    <t t-name="card" class="o_kanban_attachment flex-row">\n                        <widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>\n                        <aside>\n                            <div class="o_image o_kanban_previewer w-100 h-100" t-att-data-mimetype="record.mimetype.value"/>\n                        </aside>\n                        <main class="ms-2">\n                            <field name="name" class="fw-bolder text-truncate"/>\n                            <div class="d-flex mt-2">\n                                <span>Document type:</span>\n                                <field name="document_type" class="ms-2" widget="selection"/>\n                            </div>\n                            <div t-if="!context.hide_template_ids                                       and !!record.quotation_template_ids.raw_value.length" class="mt-2">\n                                <span class="pe-2">Templates:</span>\n                                <field name="quotation_template_ids" class="d-inline-block" widget="many2many_tags"/>\n                            </div>\n                        </main>\n                    </t>\n                </templates>\n            </kanban>\n        	f	t	2025-07-20 21:22:19.025174	2025-07-20 21:22:19.025174	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2323	16	\N	1	1	sale.pdf.form.field.search	sale.pdf.form.field	\N	search	sale_pdf_quote_builder/views/sale_pdf_form_field_views.xml	primary	{"en_US": "<search>\\n                <field name=\\"name\\"/>\\n                <filter name=\\"customizable\\" string=\\"Customizable\\" domain=\\"[('path', '=', False)]\\"/>\\n                <filter string=\\"This document\\" name=\\"context_document\\" domain=\\"[                         ('document_type', '=', context.get('default_document_type')),                         ('product_document_ids', '=', context.get('default_product_document_ids')),                         ('quotation_document_ids', '=', context.get('default_quotation_document_ids'))                     ]\\"/>\\n            </search>", "fr_FR": "<search>\\n                <field name=\\"name\\"/>\\n                <filter name=\\"customizable\\" string=\\"Personnalisable\\" domain=\\"[('path', '=', False)]\\"/>\\n                <filter string=\\"Ce document\\" name=\\"context_document\\" domain=\\"[                         ('document_type', '=', context.get('default_document_type')),                         ('product_document_ids', '=', context.get('default_product_document_ids')),                         ('quotation_document_ids', '=', context.get('default_quotation_document_ids'))                     ]\\"/>\\n            </search>"}	<?xml version="1.0"?>\n<search>\n                <field name="name"/>\n                <filter name="customizable" string="Customizable" domain="[('path', '=', False)]"/>\n                <filter string="This document" name="context_document" domain="[                         ('document_type', '=', context.get('default_document_type')),                         ('product_document_ids', '=', context.get('default_product_document_ids')),                         ('quotation_document_ids', '=', context.get('default_quotation_document_ids'))                     ]"/>\n            </search>\n        	f	t	2025-07-20 21:22:19.025174	2025-07-20 21:22:19.025174	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2319	16	\N	1	1	quotation.document.search	quotation.document	\N	search	sale_pdf_quote_builder/views/quotation_document_views.xml	primary	{"en_US": "<search string=\\"Quotation Document\\">\\n                <field name=\\"name\\"/>\\n                <separator/>\\n                <group string=\\"Group By\\">\\n                    <filter string=\\"Document type\\" name=\\"doc_type\\" context=\\"{'group_by': 'document_type'}\\"/>\\n                    <filter string=\\"Quotation Template\\" name=\\"quotation_template\\" context=\\"{'group_by': 'quotation_template_ids'}\\"/>\\n                    <filter name=\\"all\\" string=\\"All\\"/>\\n                    <filter name=\\"archived\\" string=\\"Archived\\" domain=\\"[('active', '=', False)]\\"/>\\n                    <filter name=\\"add_by_default\\" string=\\"Add By Default\\" domain=\\"[('add_by_default', '=', True)]\\"/>\\n                </group>\\n            </search>", "fr_FR": "<search string=\\"Document de devis\\">\\n                <field name=\\"name\\"/>\\n                <separator/>\\n                <group string=\\"Regrouper par\\">\\n                    <filter string=\\"Type de document\\" name=\\"doc_type\\" context=\\"{'group_by': 'document_type'}\\"/>\\n                    <filter string=\\"Modèle de devis\\" name=\\"quotation_template\\" context=\\"{'group_by': 'quotation_template_ids'}\\"/>\\n                    <filter name=\\"all\\" string=\\"Tous\\"/>\\n                    <filter name=\\"archived\\" string=\\"Archivé\\" domain=\\"[('active', '=', False)]\\"/>\\n                    <filter name=\\"add_by_default\\" string=\\"Add By Default\\" domain=\\"[('add_by_default', '=', True)]\\"/>\\n                </group>\\n            </search>"}	<?xml version="1.0"?>\n<search string="Quotation Document">\n                <field name="name"/>\n                <separator/>\n                <group string="Group By">\n                    <filter string="Document type" name="doc_type" context="{'group_by': 'document_type'}"/>\n                    <filter string="Quotation Template" name="quotation_template" context="{'group_by': 'quotation_template_ids'}"/>\n                    <filter name="all" string="All"/>\n                    <filter name="archived" string="Archived" domain="[('active', '=', False)]"/>\n                    <filter name="add_by_default" string="Add By Default" domain="[('add_by_default', '=', True)]"/>\n                </group>\n            </search>\n        	f	t	2025-07-20 21:22:19.025174	2025-07-20 21:22:19.025174	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2324	16	2297	1	1	res.config.settings.view.form.inherit.sale.pdf.quote.builder	res.config.settings	\N	form	sale_pdf_quote_builder/wizards/res_config_settings_views.xml	extension	{"en_US": "<div name=\\"sale_pdf_module_settings\\" position=\\"inside\\">\\n                <button name=\\"485\\" icon=\\"oi-arrow-right\\" type=\\"action\\" string=\\"Headers/Footers\\" class=\\"btn-link\\"/>\\n            </div>", "fr_FR": "<div name=\\"sale_pdf_module_settings\\" position=\\"inside\\">\\n                <button name=\\"485\\" icon=\\"oi-arrow-right\\" type=\\"action\\" string=\\"En-têtes/Pieds de page\\" class=\\"btn-link\\"/>\\n            </div>"}	<?xml version="1.0"?>\n<div name="sale_pdf_module_settings" position="inside">\n                <button name="485" icon="oi-arrow-right" type="action" string="Headers/Footers" class="btn-link"/>\n            </div>\n        	f	t	2025-07-20 21:22:19.025174	2025-07-20 21:22:19.025174	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2321	16	2298	1	1	sale.order.form.pdf.quote.builder	sale.order	\N	form	sale_pdf_quote_builder/views/sale_order_views.xml	extension	{"en_US": "<data><!-- Needed by customContentKanbanLikeWidget to save selected documents on the product. -->\\n            <!-- Desktop view -->\\n            <xpath expr=\\"//field[@name='order_line']/list\\" position=\\"inside\\">\\n                <field name=\\"product_document_ids\\" column_invisible=\\"1\\"/>\\n            </xpath>\\n            <!-- Mobile view -->\\n            <xpath expr=\\"//field[@name='order_line']/kanban\\" position=\\"inside\\">\\n                <field name=\\"product_document_ids\\" column_invisible=\\"1\\"/>\\n            </xpath>\\n            <page name=\\"optional_products\\" position=\\"after\\">\\n                <page name=\\"pdf_quote_builder\\" string=\\"Quote Builder\\" invisible=\\"not (partner_id and is_pdf_quote_builder_available)\\">\\n                    <!-- Needed by customContentKanbanLikeWidget to save selected documents. -->\\n                    <field name=\\"quotation_document_ids\\" invisible=\\"1\\"/>\\n                    <field name=\\"customizable_pdf_form_fields\\" invisible=\\"1\\"/>\\n                    <widget name=\\"customContentKanbanLikeWidget\\" class=\\"d-inline\\"/>\\n                </page>\\n            </page>\\n        </data>", "fr_FR": "<data><!-- Needed by customContentKanbanLikeWidget to save selected documents on the product. -->\\n            <!-- Desktop view -->\\n            <xpath expr=\\"//field[@name='order_line']/list\\" position=\\"inside\\">\\n                <field name=\\"product_document_ids\\" column_invisible=\\"1\\"/>\\n            </xpath>\\n            <!-- Mobile view -->\\n            <xpath expr=\\"//field[@name='order_line']/kanban\\" position=\\"inside\\">\\n                <field name=\\"product_document_ids\\" column_invisible=\\"1\\"/>\\n            </xpath>\\n            <page name=\\"optional_products\\" position=\\"after\\">\\n                <page name=\\"pdf_quote_builder\\" string=\\"Générateur de devis\\" invisible=\\"not (partner_id and is_pdf_quote_builder_available)\\">\\n                    <!-- Needed by customContentKanbanLikeWidget to save selected documents. -->\\n                    <field name=\\"quotation_document_ids\\" invisible=\\"1\\"/>\\n                    <field name=\\"customizable_pdf_form_fields\\" invisible=\\"1\\"/>\\n                    <widget name=\\"customContentKanbanLikeWidget\\" class=\\"d-inline\\"/>\\n                </page>\\n            </page>\\n        </data>"}	<?xml version="1.0"?>\n<data><!-- Needed by customContentKanbanLikeWidget to save selected documents on the product. -->\n            <!-- Desktop view -->\n            <xpath expr="//field[@name='order_line']/list" position="inside">\n                <field name="product_document_ids" column_invisible="1"/>\n            </xpath>\n            <!-- Mobile view -->\n            <xpath expr="//field[@name='order_line']/kanban" position="inside">\n                <field name="product_document_ids" column_invisible="1"/>\n            </xpath>\n            <page name="optional_products" position="after">\n                <page name="pdf_quote_builder" string="Quote Builder" invisible="not (partner_id and is_pdf_quote_builder_available)">\n                    <!-- Needed by customContentKanbanLikeWidget to save selected documents. -->\n                    <field name="quotation_document_ids" invisible="1"/>\n                    <field name="customizable_pdf_form_fields" invisible="1"/>\n                    <widget name="customContentKanbanLikeWidget" class="d-inline"/>\n                </page>\n            </page>\n        </data>	f	t	2025-07-20 21:22:19.025174	2025-07-20 21:22:19.025174	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2320	16	2294	1	1	sale.order.template.form	sale.order.template	\N	form	sale_pdf_quote_builder/views/sale_order_template_views.xml	extension	{"en_US": "<notebook position=\\"inside\\">\\n                <page name=\\"pdf_quote\\" string=\\"Quote Builder\\" invisible=\\"not (id)\\">\\n                    <field name=\\"quotation_document_ids\\" mode=\\"kanban\\" widget=\\"quotation_document_many2many\\" class=\\"w-100\\" nolabel=\\"1\\" options=\\"{'create': False}\\" context=\\"{                             'kanban_view_ref': 'sale_pdf_quote_builder.quotation_document_kanban',                             'hide_template_ids': True,                         }\\"/>\\n                    <p class=\\"text-muted\\">\\n                        Provide header pages and footer pages to compose an attractive quotation with more information\\n                        about your company, your products and you services. <br/>\\n                        The pdf of your quotes will be built by putting together header pages, product descriptions,\\n                        details of the quote and then the footer pages. <br/>\\n                        If empty, it will use those define in the company settings. <br/>\\n                        <div class=\\"d-flex flex-column\\">\\n                            <widget name=\\"documentation_link\\" path=\\"/_downloads/c2c6ce32294dfddffcfefcf2775f7a09/pdfquotebuilderexamples.zip\\" label=\\" Download examples\\" icon=\\"fa-arrow-right\\"/>\\n                            <a href=\\"https://www.youtube.com/watch?v=M_95g8_dhGk\\" target=\\"_blank\\" invisible=\\"not quotation_document_ids\\">\\n                                <i class=\\"fa fa-arrow-right\\"/> Link to the demo video\\n                            </a>\\n                            <iframe title=\\"Quote Builder Demo Video\\" src=\\"https://www.youtube.com/embed/M_95g8_dhGk\\" class=\\"mt-2\\" style=\\"height: 30rem;\\" invisible=\\"quotation_document_ids\\"/>\\n                        </div>\\n                    </p>\\n                </page>\\n            </notebook>", "fr_FR": "<notebook position=\\"inside\\">\\n                <page name=\\"pdf_quote\\" string=\\"Générateur de devis\\" invisible=\\"not (id)\\">\\n                    <field name=\\"quotation_document_ids\\" mode=\\"kanban\\" widget=\\"quotation_document_many2many\\" class=\\"w-100\\" nolabel=\\"1\\" options=\\"{'create': False}\\" context=\\"{                             'kanban_view_ref': 'sale_pdf_quote_builder.quotation_document_kanban',                             'hide_template_ids': True,                         }\\"/>\\n                    <p class=\\"text-muted\\">\\n                        Fournissez des pages d'en-tête et de pied de page pour composer un devis attrayant avec plus d'informations\\n                        sur votre société, vos produits et vos services. <br/>\\n                        Le PDF de vos devis sera construit en assemblant les pages d'en-tête, les descriptions de produits,\\n                        les détails du devis et les pages de pied de page. <br/>\\n                        S'ils sont vides, les informations définies dans les paramètres de l'entreprise seront utilisées. <br/>\\n                        <div class=\\"d-flex flex-column\\">\\n                            <widget name=\\"documentation_link\\" path=\\"/_downloads/c2c6ce32294dfddffcfefcf2775f7a09/pdfquotebuilderexamples.zip\\" label=\\"Télécharger les exemples\\" icon=\\"fa-arrow-right\\"/>\\n                            <a href=\\"https://www.youtube.com/watch?v=M_95g8_dhGk\\" target=\\"_blank\\" invisible=\\"not quotation_document_ids\\">\\n                                <i class=\\"fa fa-arrow-right\\"/> Link to the demo video\\n                            </a>\\n                            <iframe title=\\"Quote Builder Demo Video\\" src=\\"https://www.youtube.com/embed/M_95g8_dhGk\\" class=\\"mt-2\\" style=\\"height: 30rem;\\" invisible=\\"quotation_document_ids\\"/>\\n                        </div>\\n                    </p>\\n                </page>\\n            </notebook>"}	<?xml version="1.0"?>\n<notebook position="inside">\n                <page name="pdf_quote" string="Quote Builder" invisible="not (id)">\n                    <field name="quotation_document_ids" mode="kanban" widget="quotation_document_many2many" class="w-100" nolabel="1" options="{'create': False}" context="{                             'kanban_view_ref': 'sale_pdf_quote_builder.quotation_document_kanban',                             'hide_template_ids': True,                         }"/>\n                    <p class="text-muted">\n                        Provide header pages and footer pages to compose an attractive quotation with more information\n                        about your company, your products and you services. <br/>\n                        The pdf of your quotes will be built by putting together header pages, product descriptions,\n                        details of the quote and then the footer pages. <br/>\n                        If empty, it will use those define in the company settings. <br/>\n                        <div class="d-flex flex-column">\n                            <widget name="documentation_link" path="/_downloads/c2c6ce32294dfddffcfefcf2775f7a09/pdfquotebuilderexamples.zip" label=" Download examples" icon="fa-arrow-right"/>\n                            <a href="https://www.youtube.com/watch?v=M_95g8_dhGk" target="_blank" invisible="not quotation_document_ids">\n                                <i class="fa fa-arrow-right"/> Link to the demo video\n                            </a>\n                            <iframe title="Quote Builder Demo Video" src="https://www.youtube.com/embed/M_95g8_dhGk" class="mt-2" style="height: 30rem;" invisible="quotation_document_ids"/>\n                        </div>\n                    </p>\n                </page>\n            </notebook>\n        	f	t	2025-07-20 21:22:19.025174	2025-07-20 21:22:19.025174	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2325	16	2270	1	1	account_followup.followup.line.list.inherit.snailmail	account_followup.followup.line	\N	list	snailmail_account_followup/views/account_followup_views.xml	extension	{"en_US": "<field name=\\"send_sms\\" position=\\"after\\">\\n                    <field name=\\"send_letter\\"/>\\n                </field>"}	<?xml version="1.0"?>\n<field name="send_sms" position="after">\n                    <field name="send_letter"/>\n                </field>\n            	f	t	2025-07-20 21:22:19.224734	2025-07-20 21:22:19.224734	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2326	16	2271	1	1	account_followup.followup.line.form.inherit.snailmail	account_followup.followup.line	\N	form	snailmail_account_followup/views/account_followup_views.xml	extension	{"en_US": "<data><field name=\\"send_sms\\" position=\\"after\\">\\n                    <field name=\\"send_letter\\"/>\\n                </field>\\n                <field name=\\"mail_template_id\\" position=\\"attributes\\">\\n                    <attribute name=\\"invisible\\">not send_email and not send_letter</attribute>\\n                </field>\\n                <field name=\\"join_invoices\\" position=\\"attributes\\">\\n                    <attribute name=\\"invisible\\">not send_email and not send_letter</attribute>\\n                </field>\\n            </data>"}	<?xml version="1.0"?>\n<data><field name="send_sms" position="after">\n                    <field name="send_letter"/>\n                </field>\n                <field name="mail_template_id" position="attributes">\n                    <attribute name="invisible">not send_email and not send_letter</attribute>\n                </field>\n                <field name="join_invoices" position="attributes">\n                    <attribute name="invisible">not send_email and not send_letter</attribute>\n                </field>\n            </data>	f	t	2025-07-20 21:22:19.224734	2025-07-20 21:22:19.224734	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2327	16	196	1	1	report_layout	\N	snailmail_account_followup.report_layout	qweb	snailmail_account_followup/views/assets.xml	extension	{"en_US": "<data inherit_id=\\"web.report_layout\\">\\n        <xpath expr=\\"//head\\" position=\\"inside\\">\\n            <t t-if=\\"env and env.context.get('snailmail_layout')\\" t-call-assets=\\"snailmail_account_followup.followup_report_assets_snailmail\\" t-autoprefix=\\"true\\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="web.report_layout">\n        <xpath expr="//head" position="inside">\n            <t t-if="env and env.context.get('snailmail_layout')" t-call-assets="snailmail_account_followup.followup_report_assets_snailmail" t-autoprefix="true"/>\n        </xpath>\n    </data>\n    	f	t	2025-07-20 21:22:19.224734	2025-07-20 21:22:19.224734	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2328	16	201	1	1	minimal_layout	\N	snailmail_account_followup.minimal_layout	qweb	snailmail_account_followup/views/assets.xml	extension	{"en_US": "<data inherit_id=\\"web.minimal_layout\\">\\n        <xpath expr=\\"//head\\" position=\\"inside\\">\\n            <t t-if=\\"env and env.context.get('snailmail_layout')\\" t-call-assets=\\"snailmail_account_followup.followup_report_assets_snailmail\\" t-autoprefix=\\"true\\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="web.minimal_layout">\n        <xpath expr="//head" position="inside">\n            <t t-if="env and env.context.get('snailmail_layout')" t-call-assets="snailmail_account_followup.followup_report_assets_snailmail" t-autoprefix="true"/>\n        </xpath>\n    </data>\n	f	t	2025-07-20 21:22:19.224734	2025-07-20 21:22:19.224734	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2374	16	2373	1	1	Product Description	\N	website_sale.products_description	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.products_item\\" active=\\"False\\" name=\\"Product Description\\">\\n         <xpath expr=\\"//form\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"oe_product_cart_has_description\\" separator=\\" \\"/>\\n        </xpath>\\n        <xpath expr=\\"//*[hasclass('o_wsale_products_item_title')]\\" position=\\"after\\">\\n            <div class=\\"oe_subdescription mb-2 text-muted small\\" contenteditable=\\"false\\">\\n                <div t-field=\\"product.description_sale\\"/>\\n            </div>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.products_item" active="False" name="Product Description">\n         <xpath expr="//form" position="attributes">\n            <attribute name="class" add="oe_product_cart_has_description" separator=" "/>\n        </xpath>\n        <xpath expr="//*[hasclass('o_wsale_products_item_title')]" position="after">\n            <div class="oe_subdescription mb-2 text-muted small" contenteditable="false">\n                <div t-field="product.description_sale"/>\n            </div>\n        </xpath>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2392	16	\N	1	1	Color attributes in Filter	\N	website_sale.filter_color_attributes	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Color attributes in Filter\\" t-name=\\"website_sale.filter_color_attributes\\">\\n        <t t-foreach=\\"a.value_ids\\" t-as=\\"v\\">\\n            <t t-set=\\"img_style\\" t-value=\\"'background:url(/web/image/product.attribute.value/%s/image); background-size:cover;' % v.id if v.image else ''\\"/>\\n            <t t-set=\\"color_style\\" t-value=\\"'background: ' + str(v.html_color or v.name if not v.is_custom else '')\\"/>\\n            <label t-attf-style=\\"#{img_style or color_style}\\" t-attf-class=\\"css_attribute_color mb-1 #{'active' if v.id in attrib_set else ''}\\">\\n                <input type=\\"checkbox\\" name=\\"attribute_value\\" t-att-value=\\"'%s-%s' % (a.id, v.id)\\" t-att-checked=\\"'checked' if v.id in attrib_set else None\\" t-att-title=\\"v.name\\"/>\\n            </label>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Color attributes in Filter" t-name="website_sale.filter_color_attributes">\n        <t t-foreach="a.value_ids" t-as="v">\n            <t t-set="img_style" t-value="'background:url(/web/image/product.attribute.value/%s/image); background-size:cover;' % v.id if v.image else ''"/>\n            <t t-set="color_style" t-value="'background: ' + str(v.html_color or v.name if not v.is_custom else '')"/>\n            <label t-attf-style="#{img_style or color_style}" t-attf-class="css_attribute_color mb-1 #{'active' if v.id in attrib_set else ''}">\n                <input type="checkbox" name="attribute_value" t-att-value="'%s-%s' % (a.id, v.id)" t-att-checked="'checked' if v.id in attrib_set else None" t-att-title="v.name"/>\n            </label>\n        </t>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2395	16	\N	1	1	Pills attributes in Filter	\N	website_sale.filter_pills_attributes	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Pills attributes in Filter\\" t-name=\\"website_sale.filter_pills_attributes\\">\\n        <t t-foreach=\\"a.value_ids\\" t-as=\\"v\\">\\n            <div t-attf-class=\\"o_wsale_variant_pills_shop form-check btn btn-primary mb-1 {{'active' if v.id in attrib_set else ''}}\\">\\n                <input type=\\"checkbox\\" name=\\"attribute_value\\" class=\\"form-check-input\\" t-att-id=\\"'%s-%s' % (a.id,v.id)\\" t-att-value=\\"'%s-%s' % (a.id,v.id)\\" t-att-checked=\\"v.id in attrib_set\\"/>\\n                <label class=\\"form-check-label fw-normal\\" t-att-for=\\"'%s-%s' % (a.id,v.id)\\" t-field=\\"v.name\\"/>\\n            </div>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Pills attributes in Filter" t-name="website_sale.filter_pills_attributes">\n        <t t-foreach="a.value_ids" t-as="v">\n            <div t-attf-class="o_wsale_variant_pills_shop form-check btn btn-primary mb-1 {{'active' if v.id in attrib_set else ''}}">\n                <input type="checkbox" name="attribute_value" class="form-check-input" t-att-id="'%s-%s' % (a.id,v.id)" t-att-value="'%s-%s' % (a.id,v.id)" t-att-checked="v.id in attrib_set"/>\n                <label class="form-check-label fw-normal" t-att-for="'%s-%s' % (a.id,v.id)" t-field="v.name"/>\n            </div>\n        </t>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2396	16	\N	1	1	Product Attribute Filters Form	\N	website_sale.product_attribute_filters_form	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Product Attribute Filters Form\\" t-name=\\"website_sale.product_attribute_filters_form\\">\\n        <form t-attf-class=\\"js_attributes {{('accordion accordion-flush d-flex flex-column ' + ('border-bottom' if attributes else '')) if isMobile else 'position-relative mb-2'}}\\" method=\\"get\\" t-att-action=\\"keep(attribute_values=0, tags=0)\\">\\n            <t t-set=\\"visible_attributes\\" t-value=\\"len([a for a in attributes if a.value_ids and len(a.value_ids) &gt; 1])\\"/>\\n\\n            <t t-foreach=\\"attributes\\" t-as=\\"a\\">\\n                <t t-cache=\\"a,attrib_set,visible_attributes,isMobile\\">\\n                    <t t-set=\\"_status\\" t-value=\\"'inactive'\\"/>\\n                    <t t-foreach=\\"a.value_ids\\" t-as=\\"v\\" t-if=\\"v.id in attrib_set\\" t-set=\\"_status\\" t-value=\\"'active'\\"/>\\n                    <div t-if=\\"a.value_ids and len(a.value_ids) &gt; 1\\" t-attf-class=\\"accordion-item {{('border-top-0 ' + ('order-1' if _status == 'active' else 'order-2')) if isMobile else 'nav-item mb-1 rounded-0'}}\\">\\n                        <h2 t-if=\\"isMobile\\" class=\\"accordion-header mb-0\\" t-attf-id=\\"o_wsale_offcanvas_attribute_{{a.id}}_header\\">\\n                            <button t-attf-class=\\"o_wsale_offcanvas_title accordion-button rounded-0 {{'collapsed' if not attrib_values and visible_attributes &gt;= 4 else ''}}\\" type=\\"button\\" t-att-data-status=\\"_status\\" data-bs-toggle=\\"collapse\\" t-attf-data-bs-target=\\"#o_wsale_offcanvas_attribute_{{a.id}}\\" t-att-aria-expanded=\\"(_status == 'active' or visible_attributes &lt; 4) and 'True' or 'False'\\" t-attf-aria-controls=\\"o_wsale_offcanvas_attribute_{{a.id}}\\">\\n                                <b t-out=\\"a.name\\"/>\\n                            </button>\\n                        </h2>\\n                        <h6 t-else=\\"\\" class=\\"mb-3\\">\\n                            <b class=\\"d-none d-lg-block\\" t-field=\\"a.name\\"/>\\n                        </h6>\\n                        <div t-attf-id=\\"{{'o_wsale_offcanvas_attribute_' + str(a.id) if isMobile else 'o_products_attributes_' + str(a.id)}}\\" t-attf-class=\\"{{'accordion-collapse collapse ' + ('show' if _status == 'active' or visible_attributes &lt; 4 else '') if isMobile else ''}}\\">\\n                            <div t-attf-class=\\"{{'accordion-body pt-0' if isMobile else ''}}\\">\\n                                <div t-if=\\"a.display_type == 'select'\\" t-attf-class=\\"{{'my-2' if isMobile else 'mb-3'}}\\">\\n                                    <t t-call=\\"website_sale.filter_select_attributes\\"/>\\n                                </div>\\n                                <div t-elif=\\"a.display_type == 'color'\\" t-attf-class=\\"{{'pt-1 pb-3' if isMobile else 'mb-3'}}\\">\\n                                    <t t-call=\\"website_sale.filter_color_attributes\\"/>\\n                                </div>\\n                                <div t-elif=\\"a.display_type in ('radio', 'multi')\\" t-attf-class=\\"{{'list-group list-group-flush' if isMobile else 'flex-column mb-3'}}\\">\\n                                    <t t-call=\\"website_sale.filter_radio_and_multi_attributes\\">\\n                                        <t t-set=\\"isMobile\\" t-value=\\"isMobile\\"/>\\n                                    </t>\\n                                </div>\\n                                <div t-elif=\\"a.display_type == 'pills'\\" t-attf-class=\\"btn-group-toggle {{'my-2' if isMobile else 'mb-3'}}\\" data-bs-toggle=\\"buttons\\">\\n                                    <t t-call=\\"website_sale.filter_pills_attributes\\"/>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </t>\\n            </t>\\n            <t t-if=\\"isMobile\\">\\n                <t t-if=\\"opt_wsale_filter_tags and (opt_wsale_attributes or opt_wsale_attributes_top)\\">\\n                    <t t-set=\\"_status\\" t-value=\\"'inactive'\\"/>\\n                    <t t-foreach=\\"all_tags\\" t-as=\\"v\\" t-if=\\"v.id in tags\\" t-set=\\"_status\\" t-value=\\"'active'\\"/>\\n                    <div t-if=\\"all_tags\\">\\n                        <h2 class=\\"accordion-header mb-0\\" t-attf-id=\\"o_wsale_offcanvas_tags_header\\">\\n                            <button t-attf-class=\\"o_wsale_offcanvas_title accordion-button border-top rounded-0 {{not tags and 'collapsed'}}\\" type=\\"button\\" t-att-data-status=\\"_status\\" data-bs-toggle=\\"collapse\\" t-attf-data-bs-target=\\"#o_wsale_offcanvas_tags\\" t-att-aria-expanded=\\"_status == 'active' and 'True' or 'False'\\" t-attf-aria-controls=\\"o_wsale_offcanvas_tags\\">\\n                                <b>Tags</b>\\n                            </button>\\n                        </h2>\\n                        <div t-attf-id=\\"o_wsale_offcanvas_tags\\" t-attf-class=\\"accordion-collapse collapse {{(_status == 'active') and 'show'}}\\" t-att-aria-expanded=\\"(_status == 'active') and 'True' or 'False'\\" t-attf-aria-labelledby=\\"o_wsale_offcanvas_tags_header\\">\\n                            <div class=\\"accordion-body pt-0\\">\\n                                <div class=\\"list-group list-group-flush\\">\\n                                    <t t-call=\\"website_sale.filter_products_tags_list\\">\\n                                        <t t-set=\\"all_tags\\" t-value=\\"all_tags\\"/>\\n                                    </t>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </t>\\n            </t>\\n            <t t-else=\\"\\">\\n                <t t-if=\\"opt_wsale_filter_tags and opt_wsale_attributes\\" t-call=\\"website_sale.filter_products_tags\\">\\n                    <t t-set=\\"all_tags\\" t-value=\\"all_tags\\"/>\\n                </t>\\n            </t>\\n        </form>\\n    </t>", "fr_FR": "<t name=\\"Product Attribute Filters Form\\" t-name=\\"website_sale.product_attribute_filters_form\\">\\n        <form t-attf-class=\\"js_attributes {{('accordion accordion-flush d-flex flex-column ' + ('border-bottom' if attributes else '')) if isMobile else 'position-relative mb-2'}}\\" method=\\"get\\" t-att-action=\\"keep(attribute_values=0, tags=0)\\">\\n            <t t-set=\\"visible_attributes\\" t-value=\\"len([a for a in attributes if a.value_ids and len(a.value_ids) &gt; 1])\\"/>\\n\\n            <t t-foreach=\\"attributes\\" t-as=\\"a\\">\\n                <t t-cache=\\"a,attrib_set,visible_attributes,isMobile\\">\\n                    <t t-set=\\"_status\\" t-value=\\"'inactive'\\"/>\\n                    <t t-foreach=\\"a.value_ids\\" t-as=\\"v\\" t-if=\\"v.id in attrib_set\\" t-set=\\"_status\\" t-value=\\"'active'\\"/>\\n                    <div t-if=\\"a.value_ids and len(a.value_ids) &gt; 1\\" t-attf-class=\\"accordion-item {{('border-top-0 ' + ('order-1' if _status == 'active' else 'order-2')) if isMobile else 'nav-item mb-1 rounded-0'}}\\">\\n                        <h2 t-if=\\"isMobile\\" class=\\"accordion-header mb-0\\" t-attf-id=\\"o_wsale_offcanvas_attribute_{{a.id}}_header\\">\\n                            <button t-attf-class=\\"o_wsale_offcanvas_title accordion-button rounded-0 {{'collapsed' if not attrib_values and visible_attributes &gt;= 4 else ''}}\\" type=\\"button\\" t-att-data-status=\\"_status\\" data-bs-toggle=\\"collapse\\" t-attf-data-bs-target=\\"#o_wsale_offcanvas_attribute_{{a.id}}\\" t-att-aria-expanded=\\"(_status == 'active' or visible_attributes &lt; 4) and 'True' or 'False'\\" t-attf-aria-controls=\\"o_wsale_offcanvas_attribute_{{a.id}}\\">\\n                                <b t-out=\\"a.name\\"/>\\n                            </button>\\n                        </h2>\\n                        <h6 t-else=\\"\\" class=\\"mb-3\\">\\n                            <b class=\\"d-none d-lg-block\\" t-field=\\"a.name\\"/>\\n                        </h6>\\n                        <div t-attf-id=\\"{{'o_wsale_offcanvas_attribute_' + str(a.id) if isMobile else 'o_products_attributes_' + str(a.id)}}\\" t-attf-class=\\"{{'accordion-collapse collapse ' + ('show' if _status == 'active' or visible_attributes &lt; 4 else '') if isMobile else ''}}\\">\\n                            <div t-attf-class=\\"{{'accordion-body pt-0' if isMobile else ''}}\\">\\n                                <div t-if=\\"a.display_type == 'select'\\" t-attf-class=\\"{{'my-2' if isMobile else 'mb-3'}}\\">\\n                                    <t t-call=\\"website_sale.filter_select_attributes\\"/>\\n                                </div>\\n                                <div t-elif=\\"a.display_type == 'color'\\" t-attf-class=\\"{{'pt-1 pb-3' if isMobile else 'mb-3'}}\\">\\n                                    <t t-call=\\"website_sale.filter_color_attributes\\"/>\\n                                </div>\\n                                <div t-elif=\\"a.display_type in ('radio', 'multi')\\" t-attf-class=\\"{{'list-group list-group-flush' if isMobile else 'flex-column mb-3'}}\\">\\n                                    <t t-call=\\"website_sale.filter_radio_and_multi_attributes\\">\\n                                        <t t-set=\\"isMobile\\" t-value=\\"isMobile\\"/>\\n                                    </t>\\n                                </div>\\n                                <div t-elif=\\"a.display_type == 'pills'\\" t-attf-class=\\"btn-group-toggle {{'my-2' if isMobile else 'mb-3'}}\\" data-bs-toggle=\\"buttons\\">\\n                                    <t t-call=\\"website_sale.filter_pills_attributes\\"/>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </t>\\n            </t>\\n            <t t-if=\\"isMobile\\">\\n                <t t-if=\\"opt_wsale_filter_tags and (opt_wsale_attributes or opt_wsale_attributes_top)\\">\\n                    <t t-set=\\"_status\\" t-value=\\"'inactive'\\"/>\\n                    <t t-foreach=\\"all_tags\\" t-as=\\"v\\" t-if=\\"v.id in tags\\" t-set=\\"_status\\" t-value=\\"'active'\\"/>\\n                    <div t-if=\\"all_tags\\">\\n                        <h2 class=\\"accordion-header mb-0\\" t-attf-id=\\"o_wsale_offcanvas_tags_header\\">\\n                            <button t-attf-class=\\"o_wsale_offcanvas_title accordion-button border-top rounded-0 {{not tags and 'collapsed'}}\\" type=\\"button\\" t-att-data-status=\\"_status\\" data-bs-toggle=\\"collapse\\" t-attf-data-bs-target=\\"#o_wsale_offcanvas_tags\\" t-att-aria-expanded=\\"_status == 'active' and 'True' or 'False'\\" t-attf-aria-controls=\\"o_wsale_offcanvas_tags\\">\\n                                <b>Étiquettes</b>\\n                            </button>\\n                        </h2>\\n                        <div t-attf-id=\\"o_wsale_offcanvas_tags\\" t-attf-class=\\"accordion-collapse collapse {{(_status == 'active') and 'show'}}\\" t-att-aria-expanded=\\"(_status == 'active') and 'True' or 'False'\\" t-attf-aria-labelledby=\\"o_wsale_offcanvas_tags_header\\">\\n                            <div class=\\"accordion-body pt-0\\">\\n                                <div class=\\"list-group list-group-flush\\">\\n                                    <t t-call=\\"website_sale.filter_products_tags_list\\">\\n                                        <t t-set=\\"all_tags\\" t-value=\\"all_tags\\"/>\\n                                    </t>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </t>\\n            </t>\\n            <t t-else=\\"\\">\\n                <t t-if=\\"opt_wsale_filter_tags and opt_wsale_attributes\\" t-call=\\"website_sale.filter_products_tags\\">\\n                    <t t-set=\\"all_tags\\" t-value=\\"all_tags\\"/>\\n                </t>\\n            </t>\\n        </form>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Product Attribute Filters Form" t-name="website_sale.product_attribute_filters_form">\n        <form t-attf-class="js_attributes {{('accordion accordion-flush d-flex flex-column ' + ('border-bottom' if attributes else '')) if isMobile else 'position-relative mb-2'}}" method="get" t-att-action="keep(attribute_values=0, tags=0)">\n            <t t-set="visible_attributes" t-value="len([a for a in attributes if a.value_ids and len(a.value_ids) &gt; 1])"/>\n\n            <t t-foreach="attributes" t-as="a">\n                <t t-cache="a,attrib_set,visible_attributes,isMobile">\n                    <t t-set="_status" t-value="'inactive'"/>\n                    <t t-foreach="a.value_ids" t-as="v" t-if="v.id in attrib_set" t-set="_status" t-value="'active'"/>\n                    <div t-if="a.value_ids and len(a.value_ids) &gt; 1" t-attf-class="accordion-item {{('border-top-0 ' + ('order-1' if _status == 'active' else 'order-2')) if isMobile else 'nav-item mb-1 rounded-0'}}">\n                        <h2 t-if="isMobile" class="accordion-header mb-0" t-attf-id="o_wsale_offcanvas_attribute_{{a.id}}_header">\n                            <button t-attf-class="o_wsale_offcanvas_title accordion-button rounded-0 {{'collapsed' if not attrib_values and visible_attributes &gt;= 4 else ''}}" type="button" t-att-data-status="_status" data-bs-toggle="collapse" t-attf-data-bs-target="#o_wsale_offcanvas_attribute_{{a.id}}" t-att-aria-expanded="(_status == 'active' or visible_attributes &lt; 4) and 'True' or 'False'" t-attf-aria-controls="o_wsale_offcanvas_attribute_{{a.id}}">\n                                <b t-out="a.name"/>\n                            </button>\n                        </h2>\n                        <h6 t-else="" class="mb-3">\n                            <b class="d-none d-lg-block" t-field="a.name"/>\n                        </h6>\n                        <div t-attf-id="{{'o_wsale_offcanvas_attribute_' + str(a.id) if isMobile else 'o_products_attributes_' + str(a.id)}}" t-attf-class="{{'accordion-collapse collapse ' + ('show' if _status == 'active' or visible_attributes &lt; 4 else '') if isMobile else ''}}">\n                            <div t-attf-class="{{'accordion-body pt-0' if isMobile else ''}}">\n                                <div t-if="a.display_type == 'select'" t-attf-class="{{'my-2' if isMobile else 'mb-3'}}">\n                                    <t t-call="website_sale.filter_select_attributes"/>\n                                </div>\n                                <div t-elif="a.display_type == 'color'" t-attf-class="{{'pt-1 pb-3' if isMobile else 'mb-3'}}">\n                                    <t t-call="website_sale.filter_color_attributes"/>\n                                </div>\n                                <div t-elif="a.display_type in ('radio', 'multi')" t-attf-class="{{'list-group list-group-flush' if isMobile else 'flex-column mb-3'}}">\n                                    <t t-call="website_sale.filter_radio_and_multi_attributes">\n                                        <t t-set="isMobile" t-value="isMobile"/>\n                                    </t>\n                                </div>\n                                <div t-elif="a.display_type == 'pills'" t-attf-class="btn-group-toggle {{'my-2' if isMobile else 'mb-3'}}" data-bs-toggle="buttons">\n                                    <t t-call="website_sale.filter_pills_attributes"/>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </t>\n            </t>\n            <t t-if="isMobile">\n                <t t-if="opt_wsale_filter_tags and (opt_wsale_attributes or opt_wsale_attributes_top)">\n                    <t t-set="_status" t-value="'inactive'"/>\n                    <t t-foreach="all_tags" t-as="v" t-if="v.id in tags" t-set="_status" t-value="'active'"/>\n                    <div t-if="all_tags">\n                        <h2 class="accordion-header mb-0" t-attf-id="o_wsale_offcanvas_tags_header">\n                            <button t-attf-class="o_wsale_offcanvas_title accordion-button border-top rounded-0 {{not tags and 'collapsed'}}" type="button" t-att-data-status="_status" data-bs-toggle="collapse" t-attf-data-bs-target="#o_wsale_offcanvas_tags" t-att-aria-expanded="_status == 'active' and 'True' or 'False'" t-attf-aria-controls="o_wsale_offcanvas_tags">\n                                <b>Tags</b>\n                            </button>\n                        </h2>\n                        <div t-attf-id="o_wsale_offcanvas_tags" t-attf-class="accordion-collapse collapse {{(_status == 'active') and 'show'}}" t-att-aria-expanded="(_status == 'active') and 'True' or 'False'" t-attf-aria-labelledby="o_wsale_offcanvas_tags_header">\n                            <div class="accordion-body pt-0">\n                                <div class="list-group list-group-flush">\n                                    <t t-call="website_sale.filter_products_tags_list">\n                                        <t t-set="all_tags" t-value="all_tags"/>\n                                    </t>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </t>\n            </t>\n            <t t-else="">\n                <t t-if="opt_wsale_filter_tags and opt_wsale_attributes" t-call="website_sale.filter_products_tags">\n                    <t t-set="all_tags" t-value="all_tags"/>\n                </t>\n            </t>\n        </form>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2397	16	\N	1	1	Offcanvas	\N	website_sale.o_wsale_offcanvas	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Offcanvas\\" t-name=\\"website_sale.o_wsale_offcanvas\\">\\n        <aside id=\\"o_wsale_offcanvas\\" class=\\"o_website_offcanvas offcanvas offcanvas-end p-0\\">\\n            <div class=\\"offcanvas-header justify-content-end\\">\\n                <button type=\\"button\\" class=\\"btn-close\\" data-bs-dismiss=\\"offcanvas\\" aria-label=\\"Close\\"/>\\n            </div>\\n            <div t-if=\\"is_view_active('website_sale.search') and (opt_wsale_attributes or opt_wsale_attributes_top)\\" class=\\"offcanvas-body flex-grow-0 overflow-visible\\">\\n                <t t-call=\\"website_sale.search\\">\\n                    <t t-if=\\"category\\" t-set=\\"placeholder\\">Search in <t t-out=\\"category.name\\"/></t>\\n                    <t t-set=\\"search\\" t-value=\\"original_search or search\\"/>\\n                    <t t-set=\\"_s_searchbar_autocomplete_classes\\" t-valuef=\\"bg-primary\\"> </t>\\n                </t>\\n            </div>\\n            <div id=\\"o_wsale_offcanvas_content\\" class=\\"accordion accordion-flush flex-grow-1 overflow-auto\\">\\n                <!-- Show sorting only if it's not avavailbe in the topbar already -->\\n                <div t-if=\\"not is_view_active('website_sale.sort')\\" class=\\"accordion-item\\">\\n                    <t t-if=\\"isSortingBy\\" t-set=\\"isSortingBy\\" t-value=\\"isSortingBy[0][1]\\"/>\\n                    <t t-else=\\"\\" t-set=\\"isSortingBy\\" t-value=\\"website.shop_default_sort\\"/>\\n                    <h2 id=\\"o_wsale_offcanvas_orderby_header\\" class=\\"accordion-header mb-0\\">\\n                        <button class=\\"o_wsale_offcanvas_title accordion-button rounded-0 collapsed\\" type=\\"button\\" data-bs-toggle=\\"collapse\\" data-bs-target=\\"#o_wsale_offcanvas_orderby\\" aria-expanded=\\"false\\" aria-controls=\\"o_wsale_offcanvas_orderby\\">\\n                                <b>Sort By</b>\\n                        </button>\\n                    </h2>\\n                    <div id=\\"o_wsale_offcanvas_orderby\\" class=\\"accordion-collapse collapse\\" aria-labelledby=\\"o_wsale_offcanvas_orderby_header\\">\\n                        <div class=\\"accordion-body pt-0\\">\\n                            <div class=\\"list-group list-group-flush\\">\\n                                <a t-foreach=\\"website_sale_sortable\\" t-as=\\"sortby\\" role=\\"menuitem\\" rel=\\"noindex,nofollow\\" t-att-href=\\"keep(order=sortby[0])\\" class=\\"list-group-item border-0 ps-0 pb-0\\">\\n                                    <div class=\\"form-check d-inline-block\\">\\n                                        <input type=\\"radio\\" t-attf-onclick=\\"location.href='#{keep(order=sortby[0])}';\\" class=\\"form-check-input o_not_editable\\" name=\\"wsale_sortby_radios_offcanvas\\" t-att-checked=\\"isSortingBy and isSortingBy == sortby[1]\\">\\n                                            <label class=\\"form-check-label fw-normal\\" t-out=\\"sortby[1]\\"/>\\n                                        </input>\\n                                    </div>\\n                                </a>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div t-if=\\"opt_wsale_categories\\" class=\\"accordion-item\\">\\n                    <h2 id=\\"o_wsale_offcanvas_categories_header\\" class=\\"accordion-header mb-0\\">\\n                        <button class=\\"o_wsale_offcanvas_title accordion-button rounded-0 collapsed\\" type=\\"button\\" data-bs-toggle=\\"collapse\\" data-bs-target=\\"#o_wsale_offcanvas_categories\\" aria-expanded=\\"false\\" aria-controls=\\"o_wsale_offcanvas_categories\\">\\n                                <b>Categories</b>\\n                        </button>\\n                    </h2>\\n                    <div id=\\"o_wsale_offcanvas_categories\\" class=\\"accordion-collapse collapse\\" aria-labelledby=\\"o_wsale_offcanvas_categories_header\\">\\n                        <div class=\\"accordion-body pt-0\\">\\n                            <t t-call=\\"website_sale.products_categories_list\\">\\n                                <t t-set=\\"isOffcanvas\\" t-value=\\"true\\"/>\\n                                <t t-set=\\"_titleClasses\\" t-valuef=\\"d-none\\"/>\\n                                <t t-set=\\"_radioGroup\\" t-valuef=\\"_offcanvas\\"/>\\n                            </t>\\n                        </div>\\n                    </div>\\n                </div>\\n                <t t-call=\\"website_sale.product_attribute_filters_form\\">\\n                    <t t-set=\\"isMobile\\" t-value=\\"True\\"/>\\n                </t>\\n                <t t-if=\\"opt_wsale_filter_price and (opt_wsale_attributes or opt_wsale_attributes_top)\\" t-call=\\"website_sale.filter_products_price\\">\\n                    <t t-set=\\"_classes\\" t-valuef=\\"o_wsale_offcanvas_title accordion accordion-flush px-4\\"/>\\n                    <t t-set=\\"_classes_title\\" t-valuef=\\"ms-n1 pt-3 pb-2\\"/>\\n                    <t t-set=\\"isOffcanvas\\" t-value=\\"True\\"/>\\n                </t>\\n            </div>\\n            <div class=\\"offcanvas-body d-flex justify-content-between flex-grow-0 border-top overflow-hidden\\">\\n                <a t-attf-class=\\"btn btn-{{navClass}} d-flex py-1 mb-2 {{(not attrib_values and not isFilteringByPrice and not tags) and 'disabled' }}\\" t-att-aria-disabled=\\"(not attrib_values and not isFilteringByPrice and not tags) and 'true' or 'false'\\" t-att-href=\\"keep(attribute_values=0, tags=0, min_price=0, max_price=0)\\" title=\\"Clear Filters\\">\\n                    Clear Filters\\n                </a>\\n            </div>\\n        </aside>\\n    </t>", "fr_FR": "<t name=\\"Offcanvas\\" t-name=\\"website_sale.o_wsale_offcanvas\\">\\n        <aside id=\\"o_wsale_offcanvas\\" class=\\"o_website_offcanvas offcanvas offcanvas-end p-0\\">\\n            <div class=\\"offcanvas-header justify-content-end\\">\\n                <button type=\\"button\\" class=\\"btn-close\\" data-bs-dismiss=\\"offcanvas\\" aria-label=\\"Fermer\\"/>\\n            </div>\\n            <div t-if=\\"is_view_active('website_sale.search') and (opt_wsale_attributes or opt_wsale_attributes_top)\\" class=\\"offcanvas-body flex-grow-0 overflow-visible\\">\\n                <t t-call=\\"website_sale.search\\">\\n                    <t t-if=\\"category\\" t-set=\\"placeholder\\">Chercher dans <t t-out=\\"category.name\\"/></t>\\n                    <t t-set=\\"search\\" t-value=\\"original_search or search\\"/>\\n                    <t t-set=\\"_s_searchbar_autocomplete_classes\\" t-valuef=\\"bg-primary\\"> </t>\\n                </t>\\n            </div>\\n            <div id=\\"o_wsale_offcanvas_content\\" class=\\"accordion accordion-flush flex-grow-1 overflow-auto\\">\\n                <!-- Show sorting only if it's not avavailbe in the topbar already -->\\n                <div t-if=\\"not is_view_active('website_sale.sort')\\" class=\\"accordion-item\\">\\n                    <t t-if=\\"isSortingBy\\" t-set=\\"isSortingBy\\" t-value=\\"isSortingBy[0][1]\\"/>\\n                    <t t-else=\\"\\" t-set=\\"isSortingBy\\" t-value=\\"website.shop_default_sort\\"/>\\n                    <h2 id=\\"o_wsale_offcanvas_orderby_header\\" class=\\"accordion-header mb-0\\">\\n                        <button class=\\"o_wsale_offcanvas_title accordion-button rounded-0 collapsed\\" type=\\"button\\" data-bs-toggle=\\"collapse\\" data-bs-target=\\"#o_wsale_offcanvas_orderby\\" aria-expanded=\\"false\\" aria-controls=\\"o_wsale_offcanvas_orderby\\">\\n                                <b>Trier par</b>\\n                        </button>\\n                    </h2>\\n                    <div id=\\"o_wsale_offcanvas_orderby\\" class=\\"accordion-collapse collapse\\" aria-labelledby=\\"o_wsale_offcanvas_orderby_header\\">\\n                        <div class=\\"accordion-body pt-0\\">\\n                            <div class=\\"list-group list-group-flush\\">\\n                                <a t-foreach=\\"website_sale_sortable\\" t-as=\\"sortby\\" role=\\"menuitem\\" rel=\\"noindex,nofollow\\" t-att-href=\\"keep(order=sortby[0])\\" class=\\"list-group-item border-0 ps-0 pb-0\\">\\n                                    <div class=\\"form-check d-inline-block\\">\\n                                        <input type=\\"radio\\" t-attf-onclick=\\"location.href='#{keep(order=sortby[0])}';\\" class=\\"form-check-input o_not_editable\\" name=\\"wsale_sortby_radios_offcanvas\\" t-att-checked=\\"isSortingBy and isSortingBy == sortby[1]\\">\\n                                            <label class=\\"form-check-label fw-normal\\" t-out=\\"sortby[1]\\"/>\\n                                        </input>\\n                                    </div>\\n                                </a>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div t-if=\\"opt_wsale_categories\\" class=\\"accordion-item\\">\\n                    <h2 id=\\"o_wsale_offcanvas_categories_header\\" class=\\"accordion-header mb-0\\">\\n                        <button class=\\"o_wsale_offcanvas_title accordion-button rounded-0 collapsed\\" type=\\"button\\" data-bs-toggle=\\"collapse\\" data-bs-target=\\"#o_wsale_offcanvas_categories\\" aria-expanded=\\"false\\" aria-controls=\\"o_wsale_offcanvas_categories\\">\\n                                <b>Catégories</b>\\n                        </button>\\n                    </h2>\\n                    <div id=\\"o_wsale_offcanvas_categories\\" class=\\"accordion-collapse collapse\\" aria-labelledby=\\"o_wsale_offcanvas_categories_header\\">\\n                        <div class=\\"accordion-body pt-0\\">\\n                            <t t-call=\\"website_sale.products_categories_list\\">\\n                                <t t-set=\\"isOffcanvas\\" t-value=\\"true\\"/>\\n                                <t t-set=\\"_titleClasses\\" t-valuef=\\"d-none\\"/>\\n                                <t t-set=\\"_radioGroup\\" t-valuef=\\"_offcanvas\\"/>\\n                            </t>\\n                        </div>\\n                    </div>\\n                </div>\\n                <t t-call=\\"website_sale.product_attribute_filters_form\\">\\n                    <t t-set=\\"isMobile\\" t-value=\\"True\\"/>\\n                </t>\\n                <t t-if=\\"opt_wsale_filter_price and (opt_wsale_attributes or opt_wsale_attributes_top)\\" t-call=\\"website_sale.filter_products_price\\">\\n                    <t t-set=\\"_classes\\" t-valuef=\\"o_wsale_offcanvas_title accordion accordion-flush px-4\\"/>\\n                    <t t-set=\\"_classes_title\\" t-valuef=\\"ms-n1 pt-3 pb-2\\"/>\\n                    <t t-set=\\"isOffcanvas\\" t-value=\\"True\\"/>\\n                </t>\\n            </div>\\n            <div class=\\"offcanvas-body d-flex justify-content-between flex-grow-0 border-top overflow-hidden\\">\\n                <a t-attf-class=\\"btn btn-{{navClass}} d-flex py-1 mb-2 {{(not attrib_values and not isFilteringByPrice and not tags) and 'disabled' }}\\" t-att-aria-disabled=\\"(not attrib_values and not isFilteringByPrice and not tags) and 'true' or 'false'\\" t-att-href=\\"keep(attribute_values=0, tags=0, min_price=0, max_price=0)\\" title=\\"Supprimer les filtres\\">\\n                    Supprimer les filtres\\n                </a>\\n            </div>\\n        </aside>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Offcanvas" t-name="website_sale.o_wsale_offcanvas">\n        <aside id="o_wsale_offcanvas" class="o_website_offcanvas offcanvas offcanvas-end p-0">\n            <div class="offcanvas-header justify-content-end">\n                <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"/>\n            </div>\n            <div t-if="is_view_active('website_sale.search') and (opt_wsale_attributes or opt_wsale_attributes_top)" class="offcanvas-body flex-grow-0 overflow-visible">\n                <t t-call="website_sale.search">\n                    <t t-if="category" t-set="placeholder">Search in <t t-out="category.name"/></t>\n                    <t t-set="search" t-value="original_search or search"/>\n                    <t t-set="_s_searchbar_autocomplete_classes" t-valuef="bg-primary"> </t>\n                </t>\n            </div>\n            <div id="o_wsale_offcanvas_content" class="accordion accordion-flush flex-grow-1 overflow-auto">\n                <!-- Show sorting only if it's not avavailbe in the topbar already -->\n                <div t-if="not is_view_active('website_sale.sort')" class="accordion-item">\n                    <t t-if="isSortingBy" t-set="isSortingBy" t-value="isSortingBy[0][1]"/>\n                    <t t-else="" t-set="isSortingBy" t-value="website.shop_default_sort"/>\n                    <h2 id="o_wsale_offcanvas_orderby_header" class="accordion-header mb-0">\n                        <button class="o_wsale_offcanvas_title accordion-button rounded-0 collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#o_wsale_offcanvas_orderby" aria-expanded="false" aria-controls="o_wsale_offcanvas_orderby">\n                                <b>Sort By</b>\n                        </button>\n                    </h2>\n                    <div id="o_wsale_offcanvas_orderby" class="accordion-collapse collapse" aria-labelledby="o_wsale_offcanvas_orderby_header">\n                        <div class="accordion-body pt-0">\n                            <div class="list-group list-group-flush">\n                                <a t-foreach="website_sale_sortable" t-as="sortby" role="menuitem" rel="noindex,nofollow" t-att-href="keep(order=sortby[0])" class="list-group-item border-0 ps-0 pb-0">\n                                    <div class="form-check d-inline-block">\n                                        <input type="radio" t-attf-onclick="location.href='#{keep(order=sortby[0])}';" class="form-check-input o_not_editable" name="wsale_sortby_radios_offcanvas" t-att-checked="isSortingBy and isSortingBy == sortby[1]">\n                                            <label class="form-check-label fw-normal" t-out="sortby[1]"/>\n                                        </input>\n                                    </div>\n                                </a>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div t-if="opt_wsale_categories" class="accordion-item">\n                    <h2 id="o_wsale_offcanvas_categories_header" class="accordion-header mb-0">\n                        <button class="o_wsale_offcanvas_title accordion-button rounded-0 collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#o_wsale_offcanvas_categories" aria-expanded="false" aria-controls="o_wsale_offcanvas_categories">\n                                <b>Categories</b>\n                        </button>\n                    </h2>\n                    <div id="o_wsale_offcanvas_categories" class="accordion-collapse collapse" aria-labelledby="o_wsale_offcanvas_categories_header">\n                        <div class="accordion-body pt-0">\n                            <t t-call="website_sale.products_categories_list">\n                                <t t-set="isOffcanvas" t-value="true"/>\n                                <t t-set="_titleClasses" t-valuef="d-none"/>\n                                <t t-set="_radioGroup" t-valuef="_offcanvas"/>\n                            </t>\n                        </div>\n                    </div>\n                </div>\n                <t t-call="website_sale.product_attribute_filters_form">\n                    <t t-set="isMobile" t-value="True"/>\n                </t>\n                <t t-if="opt_wsale_filter_price and (opt_wsale_attributes or opt_wsale_attributes_top)" t-call="website_sale.filter_products_price">\n                    <t t-set="_classes" t-valuef="o_wsale_offcanvas_title accordion accordion-flush px-4"/>\n                    <t t-set="_classes_title" t-valuef="ms-n1 pt-3 pb-2"/>\n                    <t t-set="isOffcanvas" t-value="True"/>\n                </t>\n            </div>\n            <div class="offcanvas-body d-flex justify-content-between flex-grow-0 border-top overflow-hidden">\n                <a t-attf-class="btn btn-{{navClass}} d-flex py-1 mb-2 {{(not attrib_values and not isFilteringByPrice and not tags) and 'disabled' }}" t-att-aria-disabled="(not attrib_values and not isFilteringByPrice and not tags) and 'true' or 'false'" t-att-href="keep(attribute_values=0, tags=0, min_price=0, max_price=0)" title="Clear Filters">\n                    Clear Filters\n                </a>\n            </div>\n        </aside>\n    </t>\n\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2399	16	2398	1	1	Categories Filmstrip Bordered	\N	website_sale.filmstrip_categories_bordered	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.filmstrip_categories\\" name=\\"Categories Filmstrip Bordered\\" active=\\"False\\">\\n        <div id=\\"o_wsale_categories_filmstrip\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"o_wsale_filmstrip_bordered\\" remove=\\"o_wsale_filmstrip_default\\" separator=\\" \\"/>\\n        </div>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.filmstrip_categories" name="Categories Filmstrip Bordered" active="False">\n        <div id="o_wsale_categories_filmstrip" position="attributes">\n            <attribute name="class" add="o_wsale_filmstrip_bordered" remove="o_wsale_filmstrip_default" separator=" "/>\n        </div>\n    </data>\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2400	16	2398	1	1	Categories Filmstrip Tabs	\N	website_sale.filmstrip_categories_tabs	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.filmstrip_categories\\" name=\\"Categories Filmstrip Tabs\\" active=\\"False\\">\\n        <div id=\\"o_wsale_categories_filmstrip\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"o_wsale_filmstrip_tabs\\" remove=\\"o_wsale_filmstrip_default\\" separator=\\" \\"/>\\n        </div>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.filmstrip_categories" name="Categories Filmstrip Tabs" active="False">\n        <div id="o_wsale_categories_filmstrip" position="attributes">\n            <attribute name="class" add="o_wsale_filmstrip_tabs" remove="o_wsale_filmstrip_default" separator=" "/>\n        </div>\n    </data>\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2401	16	2398	1	1	Categories Filmstrip Tabs	\N	website_sale.filmstrip_categories_pills	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.filmstrip_categories\\" name=\\"Categories Filmstrip Tabs\\" active=\\"False\\">\\n        <div id=\\"o_wsale_categories_filmstrip\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"o_wsale_filmstrip_pills\\" remove=\\"o_wsale_filmstrip_default\\" separator=\\" \\"/>\\n        </div>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.filmstrip_categories" name="Categories Filmstrip Tabs" active="False">\n        <div id="o_wsale_categories_filmstrip" position="attributes">\n            <attribute name="class" add="o_wsale_filmstrip_pills" remove="o_wsale_filmstrip_default" separator=" "/>\n        </div>\n    </data>\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2402	16	2398	1	1	Categories Filmstrip Basic	\N	website_sale.filmstrip_categories_images	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.filmstrip_categories\\" name=\\"Categories Filmstrip Basic\\" active=\\"False\\">\\n        <div id=\\"o_wsale_categories_filmstrip\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"o_wsale_filmstrip_images\\" remove=\\"o_wsale_filmstrip_default\\" separator=\\" \\"/>\\n        </div>\\n        <div name=\\"o_wsale_filmstrip_placeholder\\" position=\\"attributes\\">\\n            <attribute name=\\"t-if\\">not c.has_published_products</attribute>\\n        </div>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.filmstrip_categories" name="Categories Filmstrip Basic" active="False">\n        <div id="o_wsale_categories_filmstrip" position="attributes">\n            <attribute name="class" add="o_wsale_filmstrip_images" remove="o_wsale_filmstrip_default" separator=" "/>\n        </div>\n        <div name="o_wsale_filmstrip_placeholder" position="attributes">\n            <attribute name="t-if">not c.has_published_products</attribute>\n        </div>\n    </data>\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2403	16	2398	1	1	Categories Filmstrip Grid	\N	website_sale.filmstrip_categories_grid	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.filmstrip_categories\\" name=\\"Categories Filmstrip Grid\\" active=\\"False\\">\\n        <div id=\\"o_wsale_categories_filmstrip\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"o_wsale_filmstrip_grid\\" remove=\\"o_wsale_filmstrip_default\\" separator=\\" \\"/>\\n        </div>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.filmstrip_categories" name="Categories Filmstrip Grid" active="False">\n        <div id="o_wsale_categories_filmstrip" position="attributes">\n            <attribute name="class" add="o_wsale_filmstrip_grid" remove="o_wsale_filmstrip_default" separator=" "/>\n        </div>\n    </data>\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2404	16	2398	1	1	Categories Filmstrip Cover	\N	website_sale.filmstrip_categories_large_images	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.filmstrip_categories\\" name=\\"Categories Filmstrip Cover\\" active=\\"False\\">\\n        <div id=\\"o_wsale_categories_filmstrip\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"o_wsale_filmstrip_large_images\\" remove=\\"o_wsale_filmstrip_default\\" separator=\\" \\"/>\\n        </div>\\n        <div name=\\"o_wsale_filmstrip_placeholder\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" remove=\\"o_wsale_filmstrip_placeholder\\" add=\\"o_wsale_filmstrip_no_image\\" separator=\\" \\"/>\\n        </div>\\n        <div name=\\"o_wsale_filmstrip_image\\" position=\\"attributes\\">\\n            <attribute name=\\"t-attf-style\\">background-image:url('data:image/png;base64, #{c.image_512 if c.image_512 else c.image_128}')</attribute>\\n        </div>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.filmstrip_categories" name="Categories Filmstrip Cover" active="False">\n        <div id="o_wsale_categories_filmstrip" position="attributes">\n            <attribute name="class" add="o_wsale_filmstrip_large_images" remove="o_wsale_filmstrip_default" separator=" "/>\n        </div>\n        <div name="o_wsale_filmstrip_placeholder" position="attributes">\n            <attribute name="class" remove="o_wsale_filmstrip_placeholder" add="o_wsale_filmstrip_no_image" separator=" "/>\n        </div>\n        <div name="o_wsale_filmstrip_image" position="attributes">\n            <attribute name="t-attf-style">background-image:url('data:image/png;base64, #{c.image_512 if c.image_512 else c.image_128}')</attribute>\n        </div>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2406	16	\N	1	1	Category list	\N	website_sale.categories_recursive	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Category list\\" t-name=\\"website_sale.categories_recursive\\">\\n        <li class=\\"nav-item mb-1\\" t-att-data-publish=\\"c.has_published_products and 'on' or 'off'\\">\\n            <t t-call=\\"website_sale.categorie_link\\"/>\\n            <ul t-if=\\"c.child_id\\" class=\\"nav flex-column nav-hierarchy mt-1 ps-3\\">\\n                <t t-foreach=\\"c.child_id\\" t-as=\\"c\\">\\n                    <t t-if=\\"not search or c.id in search_categories_ids\\">\\n                        <t t-call=\\"website_sale.categories_recursive\\"/>\\n                    </t>\\n                </t>\\n            </ul>\\n        </li>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Category list" t-name="website_sale.categories_recursive">\n        <li class="nav-item mb-1" t-att-data-publish="c.has_published_products and 'on' or 'off'">\n            <t t-call="website_sale.categorie_link"/>\n            <ul t-if="c.child_id" class="nav flex-column nav-hierarchy mt-1 ps-3">\n                <t t-foreach="c.child_id" t-as="c">\n                    <t t-if="not search or c.id in search_categories_ids">\n                        <t t-call="website_sale.categories_recursive"/>\n                    </t>\n                </t>\n            </ul>\n        </li>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2407	16	\N	1	1	Category Link	\N	website_sale.categorie_link	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Category Link\\" t-name=\\"website_sale.categorie_link\\">\\n        <a t-att-href=\\"keep('%s/category/%s' % (shop_path, slug(c)))\\" t-attf-class=\\"{{c.id == category.id and 'text-decoration-underline'}} p-0\\" t-field=\\"c.name\\"/>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Category Link" t-name="website_sale.categorie_link">\n        <a t-att-href="keep('%s/category/%s' % (shop_path, slug(c)))" t-attf-class="{{c.id == category.id and 'text-decoration-underline'}} p-0" t-field="c.name"/>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2410	16	\N	1	1	Collapse Category Recursive	\N	website_sale.option_collapse_categories_recursive	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Collapse Category Recursive\\" t-name=\\"website_sale.option_collapse_categories_recursive\\">\\n        <t t-set=\\"children\\" t-value=\\"not search and c.child_id or c.child_id.filtered(lambda c: c.id in search_categories_ids)\\"/>\\n        <t t-set=\\"children\\" t-value=\\"request.env.user._is_internal() and children or children.filtered('has_published_products')\\"/>\\n\\n        <t t-if=\\"children\\">\\n            <t t-set=\\"isOpen\\" t-value=\\"c.id in category.parents_and_self.ids\\"/>\\n\\n            <li class=\\"nav-item\\" t-att-data-publish=\\"c.has_published_products and 'on' or 'off'\\">\\n                <div class=\\"accordion-header d-flex mb-1\\">\\n                    <t t-call=\\"website_sale.categorie_link\\"/>\\n                    <button t-attf-id=\\"o_wsale_cat_accordion_title_{{c.id}}\\" t-attf-class=\\"o_categories_recursive_button accordion-button p-0 ms-3 {{not isOpen and 'collapsed'}} w-auto flex-grow-1 bg-transparent shadow-none\\" t-attf-data-bs-target=\\"#o_wsale_cat_accordion_{{c.id}}\\" t-att-aria-expanded=\\"isOpen and 'true' or 'false'\\" t-attf-aria-controls=\\"o_wsale_cat_accordion_{{c.id}}\\" data-bs-toggle=\\"collapse\\" type=\\"button\\"/>\\n                </div>\\n                <ul t-attf-id=\\"o_wsale_cat_accordion_{{c.id}}\\" t-attf-class=\\"accordion-collapse list-unstyled ps-2 collapse {{isOpen and 'show'}}\\" t-attf-aria-labelledby=\\"o_wsale_cat_accordion_title_{{c.id}}\\">\\n                    <t t-set=\\"parentCategoryId\\" t-value=\\"c.id\\"/>\\n                    <t t-if=\\"isOffcanvas\\" t-set=\\"parentCategoryId\\" t-valuef=\\"offcanvas_{{c.id}}\\"/>\\n\\n                    <t t-foreach=\\"children\\" t-as=\\"c\\">\\n                        <t t-call=\\"website_sale.option_collapse_categories_recursive\\"/>\\n                    </t>\\n                </ul>\\n            </li>\\n        </t>\\n\\n        <li t-else=\\"\\" class=\\"nav-item mb-1\\" t-att-data-publish=\\"c.has_published_products and 'on' or 'off'\\">\\n            <t t-if=\\"isOffcanvas\\" t-set=\\"parentCategoryId\\" t-valuef=\\"offcanvas\\"/>\\n            <div class=\\"d-flex flex-wrap justify-content-between align-items-center\\">\\n                <t t-call=\\"website_sale.categorie_link\\"/>\\n            </div>\\n        </li>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Collapse Category Recursive" t-name="website_sale.option_collapse_categories_recursive">\n        <t t-set="children" t-value="not search and c.child_id or c.child_id.filtered(lambda c: c.id in search_categories_ids)"/>\n        <t t-set="children" t-value="request.env.user._is_internal() and children or children.filtered('has_published_products')"/>\n\n        <t t-if="children">\n            <t t-set="isOpen" t-value="c.id in category.parents_and_self.ids"/>\n\n            <li class="nav-item" t-att-data-publish="c.has_published_products and 'on' or 'off'">\n                <div class="accordion-header d-flex mb-1">\n                    <t t-call="website_sale.categorie_link"/>\n                    <button t-attf-id="o_wsale_cat_accordion_title_{{c.id}}" t-attf-class="o_categories_recursive_button accordion-button p-0 ms-3 {{not isOpen and 'collapsed'}} w-auto flex-grow-1 bg-transparent shadow-none" t-attf-data-bs-target="#o_wsale_cat_accordion_{{c.id}}" t-att-aria-expanded="isOpen and 'true' or 'false'" t-attf-aria-controls="o_wsale_cat_accordion_{{c.id}}" data-bs-toggle="collapse" type="button"/>\n                </div>\n                <ul t-attf-id="o_wsale_cat_accordion_{{c.id}}" t-attf-class="accordion-collapse list-unstyled ps-2 collapse {{isOpen and 'show'}}" t-attf-aria-labelledby="o_wsale_cat_accordion_title_{{c.id}}">\n                    <t t-set="parentCategoryId" t-value="c.id"/>\n                    <t t-if="isOffcanvas" t-set="parentCategoryId" t-valuef="offcanvas_{{c.id}}"/>\n\n                    <t t-foreach="children" t-as="c">\n                        <t t-call="website_sale.option_collapse_categories_recursive"/>\n                    </t>\n                </ul>\n            </li>\n        </t>\n\n        <li t-else="" class="nav-item mb-1" t-att-data-publish="c.has_published_products and 'on' or 'off'">\n            <t t-if="isOffcanvas" t-set="parentCategoryId" t-valuef="offcanvas"/>\n            <div class="d-flex flex-wrap justify-content-between align-items-center">\n                <t t-call="website_sale.categorie_link"/>\n            </div>\n        </li>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2411	16	2408	1	1	Collapsible Category List	\N	website_sale.option_collapse_products_categories	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data name=\\"Collapsible Category List\\" inherit_id=\\"website_sale.products_categories_list\\" active=\\"False\\">\\n        <xpath expr=\\"//t[@t-call='website_sale.categories_recursive']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-call\\">website_sale.option_collapse_categories_recursive</attribute>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data name="Collapsible Category List" inherit_id="website_sale.products_categories_list" active="False">\n        <xpath expr="//t[@t-call='website_sale.categories_recursive']" position="attributes">\n            <attribute name="t-call">website_sale.option_collapse_categories_recursive</attribute>\n        </xpath>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2412	16	2378	1	1	Attributes & Variants filters	\N	website_sale.products_attributes	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.products\\" active=\\"True\\" name=\\"Attributes &amp; Variants filters\\">\\n        <xpath expr=\\"//div[contains(@t-attf-class, 'products_attributes_filters')]\\" position=\\"inside\\">\\n            <div t-if=\\"attributes or all_tags\\" id=\\"wsale_products_attributes_collapse\\" class=\\" position-relative\\">\\n                 <t t-call=\\"website_sale.product_attribute_filters_form\\">\\n                    <t t-set=\\"isMobile\\" t-value=\\"False\\"/>\\n                </t>\\n            </div>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.products" active="True" name="Attributes &amp; Variants filters">\n        <xpath expr="//div[contains(@t-attf-class, 'products_attributes_filters')]" position="inside">\n            <div t-if="attributes or all_tags" id="wsale_products_attributes_collapse" class=" position-relative">\n                 <t t-call="website_sale.product_attribute_filters_form">\n                    <t t-set="isMobile" t-value="False"/>\n                </t>\n            </div>\n        </xpath>\n    </data>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2413	16	2396	1	1	Collapsed Attributes & Variants filters	\N	website_sale.products_attributes_collapsible	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data name=\\"Collapsed Attributes &amp; Variants filters\\" inherit_id=\\"website_sale.product_attribute_filters_form\\">\\n        <xpath expr=\\"//form\\" position=\\"attributes\\">\\n            <t t-if=\\"not isMobile\\">\\n                <attribute name=\\"t-attf-class\\" add=\\"wsale_accordion_collapsible accordion accordion-flush\\" remove=\\"mb-2\\" separator=\\" \\"/>\\n            </t>\\n        </xpath>\\n        <xpath expr=\\"//div[contains(@t-attf-class, 'accordion-item')]//h6\\" position=\\"replace\\">\\n            <h6 t-if=\\"not isMobile\\" class=\\"accordion-header\\">\\n                <button t-attf-class=\\"accordion-button px-0 bg-transparent shadow-none                         {{'collapsed' if visible_attributes &gt;= 4 else ''}}\\" type=\\"button\\" data-bs-toggle=\\"collapse\\" t-attf-data-bs-target=\\"#o_products_attributes_{{a.id}}\\" t-attf-aria-controls=\\"o_products_attributes_{{a.id}}\\" t-att-aria-expanded=\\"'false' if visible_attributes &gt;= 4 else 'true'\\">\\n                    <b t-field=\\"a.name\\"/>\\n                </button>\\n            </h6>\\n        </xpath>\\n        <xpath expr=\\"//div[contains(@t-attf-id, 'o_products_attributes_')]\\" position=\\"attributes\\">\\n            <attribute name=\\"t-attf-class\\" add=\\"accordion-collapse collapse {{'' if visible_attributes &gt;= 4 else 'show'}}\\" separator=\\" \\"/>\\n            <attribute name=\\"data-bs-parent\\" add=\\"wsale_products_attributes_collapse\\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data name="Collapsed Attributes &amp; Variants filters" inherit_id="website_sale.product_attribute_filters_form">\n        <xpath expr="//form" position="attributes">\n            <t t-if="not isMobile">\n                <attribute name="t-attf-class" add="wsale_accordion_collapsible accordion accordion-flush" remove="mb-2" separator=" "/>\n            </t>\n        </xpath>\n        <xpath expr="//div[contains(@t-attf-class, 'accordion-item')]//h6" position="replace">\n            <h6 t-if="not isMobile" class="accordion-header">\n                <button t-attf-class="accordion-button px-0 bg-transparent shadow-none                         {{'collapsed' if visible_attributes &gt;= 4 else ''}}" type="button" data-bs-toggle="collapse" t-attf-data-bs-target="#o_products_attributes_{{a.id}}" t-attf-aria-controls="o_products_attributes_{{a.id}}" t-att-aria-expanded="'false' if visible_attributes &gt;= 4 else 'true'">\n                    <b t-field="a.name"/>\n                </button>\n            </h6>\n        </xpath>\n        <xpath expr="//div[contains(@t-attf-id, 'o_products_attributes_')]" position="attributes">\n            <attribute name="t-attf-class" add="accordion-collapse collapse {{'' if visible_attributes &gt;= 4 else 'show'}}" separator=" "/>\n            <attribute name="data-bs-parent" add="wsale_products_attributes_collapse"/>\n        </xpath>\n    </data>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2416	16	\N	1	1	filter_products_tags_list	\N	website_sale.filter_products_tags_list	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t t-name=\\"website_sale.filter_products_tags_list\\">\\n        <t t-foreach=\\"all_tags\\" t-as=\\"tag\\" class=\\"list-group-item border-0 ps-0 pb-0\\">\\n            <div class=\\"form-check mb-1\\">\\n                <input type=\\"checkbox\\" name=\\"tags\\" class=\\"form-check-input\\" t-attf-id=\\"tag_#{tag.id}\\" t-att-value=\\"tag.id\\" t-att-checked=\\"'checked' if tag.id in tags else None\\"/>\\n                <label class=\\"form-check-label fw-normal\\" t-attf-for=\\"tag_#{tag.id}\\" t-field=\\"tag.name\\"/>\\n            </div>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="website_sale.filter_products_tags_list">\n        <t t-foreach="all_tags" t-as="tag" class="list-group-item border-0 ps-0 pb-0">\n            <div class="form-check mb-1">\n                <input type="checkbox" name="tags" class="form-check-input" t-attf-id="tag_#{tag.id}" t-att-value="tag.id" t-att-checked="'checked' if tag.id in tags else None"/>\n                <label class="form-check-label fw-normal" t-attf-for="tag_#{tag.id}" t-field="tag.name"/>\n            </div>\n        </t>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2417	16	2378	1	1	List View (by default)	\N	website_sale.products_list_view	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.products\\" active=\\"False\\" name=\\"List View (by default)\\">\\n        <xpath expr=\\"//div[@id='products_grid']\\" position=\\"after\\">\\n            <!-- Nothing to do, this view is only meant to allow the server -->\\n            <!-- to know if the list view layout should be used -->\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.products" active="False" name="List View (by default)">\n        <xpath expr="//div[@id='products_grid']" position="after">\n            <!-- Nothing to do, this view is only meant to allow the server -->\n            <!-- to know if the list view layout should be used -->\n        </xpath>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2418	16	2378	1	1	Enable edit previews	\N	website_sale.editor_previews	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data name=\\"Enable edit previews\\" inherit_id=\\"website_sale.products\\">\\n        <xpath expr=\\"//div[@id='wrap']\\" position=\\"before\\">\\n            <t t-set=\\"editionPreviews\\" t-value=\\"true\\" groups=\\"website.group_website_designer\\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data name="Enable edit previews" inherit_id="website_sale.products">\n        <xpath expr="//div[@id='wrap']" position="before">\n            <t t-set="editionPreviews" t-value="true" groups="website.group_website_designer"/>\n        </xpath>\n    </data>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2419	16	\N	1	1	Product Base unit price	\N	website_sale.base_unit_price	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Product Base unit price\\" t-name=\\"website_sale.base_unit_price\\">\\n        <span class=\\"o_base_unit_price\\" t-esc=\\"base_unit_price\\" t-options=\\"{'widget': 'monetary', 'display_currency': website.currency_id}\\"/>\\n         / <span class=\\"oe_custom_base_unit\\" t-field=\\"product.base_unit_name\\"/>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Product Base unit price" t-name="website_sale.base_unit_price">\n        <span class="o_base_unit_price" t-esc="base_unit_price" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}"/>\n         / <span class="oe_custom_base_unit" t-field="product.base_unit_name"/>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2420	16	\N	1	1	Product	\N	website_sale.product	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Product\\" track=\\"1\\" t-name=\\"website_sale.product\\">\\n        <!-- Qweb variable defining the class suffix for navbar items.\\n             Change accordingly to the derired visual result (eg. `primary`, `dark`...)-->\\n        <t t-set=\\"navClass\\" t-valuef=\\"light\\"/>\\n\\n        <t t-set=\\"combination_info\\" t-value=\\"product._get_combination_info()\\"/>\\n        <t t-set=\\"product_variant\\" t-value=\\"product.env['product.product'].browse(combination_info['product_id'])\\"/>\\n        <t t-set=\\"is_fullwidth_content\\" t-value=\\"website.product_page_image_width in ['none', '100_pc']\\"/>\\n        <t t-set=\\"is_50_pc\\" t-value=\\"website.product_page_image_width == '50_pc'\\"/>\\n\\n        <t t-call=\\"website.layout\\">\\n            <t t-set=\\"additional_title\\" t-value=\\"product.name\\"/>\\n            <div id=\\"wrap\\" class=\\"js_sale o_wsale_product_page\\">\\n                <div class=\\"oe_structure oe_empty oe_structure_not_nearest\\" id=\\"oe_structure_website_sale_product_1\\" data-editor-message.translate=\\"DROP BUILDING BLOCKS HERE TO MAKE THEM AVAILABLE ACROSS ALL PRODUCTS\\"/>\\n                <section id=\\"product_detail\\" t-attf-class=\\"oe_website_sale container mt-4 mb-5 #{'discount'                             if combination_info['has_discounted_price'] else ''}\\" t-att-data-view-track=\\"view_track and '1' or '0'\\" t-att-data-product-tracking-info=\\"'product_tracking_info' in combination_info and json.dumps(combination_info['product_tracking_info'])\\">\\n                    <div class=\\"d-flex flex-wrap align-items-center\\">\\n                        <div class=\\"d-flex align-items-center flex-grow-1 mb-4 m-lg-0\\">\\n                            <ol class=\\"o_wsale_breadcrumb breadcrumb m-0 p-0\\">\\n                                <li class=\\"o_not_editable breadcrumb-item d-none d-lg-inline-block\\">\\n                                    <a t-att-href=\\"keep(shop_path)\\">\\n                                        <i class=\\"oi oi-chevron-left d-lg-none me-1\\" role=\\"presentation\\"/>All Products\\n                                    </a>\\n                                </li>\\n                                <li t-nocache=\\"The category does not have to be cached, as the product can be accessed via different paths.\\" t-if=\\"category\\" class=\\"breadcrumb-item\\">\\n                                    <a class=\\"py-2 py-lg-0\\" t-att-href=\\"keep('%s/category/%s' % (shop_path, slug(category)))\\">\\n                                        <i class=\\"oi oi-chevron-left d-lg-none me-1\\" role=\\"presentation\\"/><t t-out=\\"category.name\\"/>\\n                                    </a>\\n                                </li>\\n                                <li t-else=\\"\\" class=\\"o_not_editable breadcrumb-item d-lg-none\\">\\n                                    <a class=\\"py-2 py-lg-0\\" t-att-href=\\"keep(shop_path)\\">\\n                                        <i class=\\"oi oi-chevron-left me-1\\" role=\\"presentation\\"/>All Products\\n                                    </a>\\n                                </li>\\n                                <li class=\\"breadcrumb-item d-none d-lg-inline-block active\\">\\n                                    <span t-field=\\"product.name\\"/>\\n                                </li>\\n                            </ol>\\n                            <div class=\\"d-flex d-md-none gap-2 ms-auto\\">\\n                                <t t-call=\\"website_sale.pricelist_list\\"/>\\n                                <a t-attf-class=\\"o_wsale_product_search_mobile_btn o_not_editable btn btn-{{navClass}} d-none\\" data-bs-target=\\"#o_wsale_product_search_modal\\" data-bs-toggle=\\"modal\\" role=\\"button\\" title=\\"Search Products\\" href=\\"#\\">\\n                                    <i class=\\"oi oi-search\\" role=\\"img\\"/>\\n                                </a>\\n                            </div>\\n                        </div>\\n                        <div class=\\"o_wsale_product_top_bar_desktop d-none d-md-flex flex-wrap gap-2 w-100 w-lg-auto mb-4 mb-lg-auto\\">\\n                            <t t-call=\\"website_sale.pricelist_list\\"/>\\n                        </div>\\n                    </div>\\n                    <div class=\\"row\\" id=\\"product_detail_main\\" data-name=\\"Product Page\\" t-att-data-image_width=\\"website.product_page_image_width\\" t-att-data-image_layout=\\"website.product_page_image_layout\\">\\n                        <t t-set=\\"image_cols\\" t-value=\\"website._get_product_page_proportions()\\"/>\\n                        <div t-attf-class=\\"col-lg-#{image_cols[0]} mt-lg-4 o_wsale_product_images position-relative\\" t-if=\\"website.product_page_image_width != 'none'\\" t-att-data-image-amount=\\"len(product_variant._get_images() if product_variant else product._get_images())\\">\\n                            <t t-call=\\"website_sale.shop_product_images\\"/>\\n                        </div>\\n                        <div t-attf-class=\\"col-lg-#{image_cols[1]} mt-md-4\\" id=\\"product_details\\">\\n                            <div t-attf-class=\\"js_product js_main_product row position-sticky #{'o_wsale_product_sticky_col' if website.product_page_image_layout == 'grid' else ''}\\">\\n                                <div t-att-class=\\"'col-lg-7' if is_fullwidth_content else 'col-lg-12'\\">\\n                                    <t t-set=\\"base_url\\" t-value=\\"website.get_base_url()\\"/>\\n                                    <h1 class=\\"h3\\" t-field=\\"product.name\\">Product Name</h1>\\n                                    <t t-if=\\"is_view_active('website_sale.product_comment')\\">\\n                                        <a href=\\"#o_product_page_reviews\\" class=\\"o_product_page_reviews_link d-block mb-2 text-decoration-none\\">\\n                                            <t t-call=\\"portal_rating.rating_widget_stars_static\\">\\n                                                <!-- sudo: product.product - visitor can access product average rating -->\\n                                                <t t-set=\\"rating_avg\\" t-value=\\"product.sudo().rating_avg\\"/>\\n                                                <t t-set=\\"trans_text_plural\\">%s reviews</t>\\n                                                <t t-set=\\"trans_text_singular\\">%s review</t>\\n                                                <t t-set=\\"rating_count\\" t-value=\\"(trans_text_plural if product.rating_count &gt; 1 else trans_text_singular) % product.rating_count\\"/>\\n                                            </t>\\n                                        </a>\\n                                    </t>\\n                                    <div t-field=\\"product.description_ecommerce\\" t-attf-class=\\"oe_structure text-muted {{not product.description_ecommerce and 'mb-0'}}\\" placeholder=\\"A detailed, formatted description to promote your product on this page. Use '/' to discover more features.\\"/>\\n                                    <t t-if=\\"is_view_active('website_sale.product_tags')\\" t-call=\\"website_sale.product_tags\\">\\n                                        <t t-set=\\"all_product_tags\\" t-value=\\"product_variant.all_product_tag_ids\\"/>\\n                                    </t>\\n                                    <form t-if=\\"product._is_add_to_cart_possible()\\">\\n                                        <input type=\\"hidden\\" name=\\"csrf_token\\" t-att-value=\\"request.csrf_token()\\" t-nocache=\\"The csrf token must always be up to date.\\"/>\\n                                        <div>\\n                                            <t t-if=\\"not is_view_active('website_sale.cta_wrapper_boxed')\\" t-call=\\"website_sale.product_price\\"/>\\n                                            <small t-if=\\"combination_info.get('base_unit_price')\\" class=\\"ms-1 text-muted o_base_unit_price_wrapper d-none\\">\\n                                                <t t-call=\\"website_sale.base_unit_price\\">\\n                                                    <t t-set=\\"base_unit_price\\" t-value=\\"combination_info['base_unit_price']\\"/>\\n                                                </t>\\n                                            </small>\\n                                        </div>\\n                                        <t name=\\"variant_info\\">\\n                                            <input type=\\"hidden\\" class=\\"o_not_editable product_id\\" name=\\"product_id\\" t-att-value=\\"product_variant.id\\"/>\\n                                            <input type=\\"hidden\\" class=\\"o_not_editable product_template_id\\" name=\\"product_template_id\\" t-att-value=\\"product.id\\"/>\\n                                            <input t-if=\\"product.public_categ_ids.ids\\" type=\\"hidden\\" class=\\"product_category_id\\" name=\\"product_category_id\\" t-att-value=\\"product.public_categ_ids.ids[0]\\"/>\\n                                            <input type=\\"hidden\\" name=\\"product_type\\" t-att-value=\\"product.type\\"/>\\n                                            <t t-call=\\"website_sale.variants\\">\\n                                                <t t-set=\\"ul_class\\" t-valuef=\\"flex-column\\"/>\\n                                                <t t-set=\\"parent_combination\\" t-value=\\"None\\"/>\\n                                                <t t-set=\\"combination\\" t-value=\\"combination_info['combination']\\"/>\\n                                            </t>\\n                                        </t>\\n                                        <t t-if=\\"not is_fullwidth_content\\" t-call=\\"website_sale.cta_wrapper\\"/>\\n                                    </form>\\n                                    <p t-elif=\\"not product.active\\" class=\\"alert alert-warning\\">\\n                                        This product is no longer available.\\n                                    </p>\\n                                    <p t-else=\\"\\" class=\\"alert alert-warning\\">\\n                                        This product has no valid combination.\\n                                    </p>\\n                                    <t t-call=\\"website_sale.product_accordion\\"/>\\n                                    <div id=\\"contact_us_wrapper\\" t-attf-class=\\"{{'d-flex' if combination_info['prevent_zero_price_sale'] else 'd-none'}} oe_structure oe_structure_solo #{_div_classes}\\">\\n                                        <section class=\\"s_text_block\\" data-snippet=\\"s_text_block\\" data-name=\\"Text\\">\\n                                            <div class=\\"container\\">\\n                                                <a t-att-href=\\"website.contact_us_button_url\\" t-att-data-url=\\"website.contact_us_button_url\\" class=\\"btn btn-primary btn_cta\\">\\n                                                    Contact Us\\n                                                </a>\\n                                            </div>\\n                                        </section>\\n                                    </div>\\n                                    <div t-if=\\"not is_view_active('website_sale_comparison.accordion_specs_item')\\" id=\\"product_attributes_simple\\">\\n                                        <t t-set=\\"single_value_attributes\\" t-value=\\"product.valid_product_template_attribute_line_ids._prepare_single_value_for_display()\\"/>\\n                                        <table t-attf-class=\\"table table-sm text-muted {{'' if single_value_attributes else 'd-none'}}\\">\\n                                            <t t-foreach=\\"single_value_attributes\\" t-as=\\"attribute\\">\\n                                                <tr>\\n                                                    <td>\\n                                                        <span t-field=\\"attribute.name\\"/>:\\n                                                        <t t-foreach=\\"single_value_attributes[attribute]\\" t-as=\\"ptal\\">\\n                                                            <span t-field=\\"ptal.product_template_value_ids._only_active().name\\"/>\\n                                                            <t t-if=\\"not ptal_last\\">, </t>\\n                                                        </t>\\n                                                    </td>\\n                                                </tr>\\n                                            </t>\\n                                        </table>\\n                                    </div>\\n                                    <t t-set=\\"product_documents\\" t-value=\\"product.sudo().product_document_ids.filtered(lambda doc: doc.shown_on_product_page)\\"/>\\n                                    <div id=\\"product_documents\\" class=\\"my-4\\" t-if=\\"product_documents\\">\\n                                        <h6>Documents</h6>\\n                                        <div class=\\"list-group\\">\\n                                            <t t-foreach=\\"product_documents\\" t-as=\\"document_sudo\\">\\n                                                <t t-set=\\"attachment_sudo\\" t-value=\\"document_sudo.ir_attachment_id\\"/>\\n                                                <t t-set=\\"target\\" t-value=\\"attachment_sudo.type == 'url' and '_blank' or '_self'\\"/>\\n                                                <t t-set=\\"icon\\" t-value=\\"attachment_sudo.type == 'url' and 'fa-link' or 'fa-download'\\"/>\\n                                                <a class=\\"list-group-item list-group-item-action\\" t-att-href=\\"'/shop/' + slug(product) + '/document/' + str(document_sudo.id)\\" t-att-target=\\"target\\">\\n                                                    <i t-att-class=\\"'fa ' + icon + ' me-2'\\"/>\\n                                                    <t t-out=\\"attachment_sudo.name\\"/>\\n                                                </a>\\n                                            </t>\\n                                        </div>\\n                                    </div>\\n                                    <t t-if=\\"not is_fullwidth_content\\" t-call=\\"website_sale.product_terms_and_conditions\\"/>\\n                                </div>\\n                                <div t-if=\\"is_fullwidth_content\\" t-attf-class=\\"col-lg-4 offset-lg-1\\">\\n                                    <div class=\\"o_wsale_product_sticky_col position-sticky\\">\\n                                        <t t-call=\\"website_sale.cta_wrapper\\"/>\\n                                        <t t-call=\\"website_sale.product_terms_and_conditions\\"/>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </section>\\n                <div id=\\"product_full_description\\" t-field=\\"product.website_description\\" class=\\"oe_structure oe_empty mt16\\"/>\\n                <div class=\\"oe_structure oe_empty oe_structure_not_nearest mt16\\" id=\\"oe_structure_website_sale_product_2\\" data-editor-message.translate=\\"DROP BUILDING BLOCKS HERE TO MAKE THEM AVAILABLE ACROSS ALL PRODUCTS\\"/>\\n            </div>\\n            <div id=\\"o_wsale_product_search_modal\\" class=\\"modal fade css_editable_mode_hidden\\" aria-hidden=\\"true\\" tabindex=\\"-1\\">\\n                <div class=\\"modal-dialog modal-lg pt-5\\">\\n                    <div class=\\"modal-content mt-5 bg-transparent border-0\\">\\n                        <div class=\\"o_container_small\\">\\n                            <t t-call=\\"website.website_search_box_input\\">\\n                                <t t-set=\\"default_style\\" t-valuef=\\"true\\"/>\\n                                <t t-set=\\"search_type\\" t-valuef=\\"products\\"/>\\n                                <t t-set=\\"_classes\\" t-valuef=\\"input-group rounded o_cc o_cc1 mb-1\\"/>\\n                                <t t-set=\\"_input_classes\\" t-valuef=\\"border-0 p-3\\"/>\\n                                <t t-set=\\"_submit_classes\\" t-valuef=\\"px-4\\"/>\\n                                <t t-if=\\"category\\" t-set=\\"placeholder\\">Search in <t t-out=\\"category.name\\"/></t>\\n                            </t>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </t>\\n    </t>", "fr_FR": "<t name=\\"Product\\" track=\\"1\\" t-name=\\"website_sale.product\\">\\n        <!-- Qweb variable defining the class suffix for navbar items.\\n             Change accordingly to the derired visual result (eg. `primary`, `dark`...)-->\\n        <t t-set=\\"navClass\\" t-valuef=\\"light\\"/>\\n\\n        <t t-set=\\"combination_info\\" t-value=\\"product._get_combination_info()\\"/>\\n        <t t-set=\\"product_variant\\" t-value=\\"product.env['product.product'].browse(combination_info['product_id'])\\"/>\\n        <t t-set=\\"is_fullwidth_content\\" t-value=\\"website.product_page_image_width in ['none', '100_pc']\\"/>\\n        <t t-set=\\"is_50_pc\\" t-value=\\"website.product_page_image_width == '50_pc'\\"/>\\n\\n        <t t-call=\\"website.layout\\">\\n            <t t-set=\\"additional_title\\" t-value=\\"product.name\\"/>\\n            <div id=\\"wrap\\" class=\\"js_sale o_wsale_product_page\\">\\n                <div class=\\"oe_structure oe_empty oe_structure_not_nearest\\" id=\\"oe_structure_website_sale_product_1\\" data-editor-message.translate=\\"DÉPOSEZ DES BLOCS DE CONSTRUCTION ICI POUR LES RENDRE DISPONIBLES POUR TOUS LES PRODUITS\\"/>\\n                <section id=\\"product_detail\\" t-attf-class=\\"oe_website_sale container mt-4 mb-5 #{'discount'                             if combination_info['has_discounted_price'] else ''}\\" t-att-data-view-track=\\"view_track and '1' or '0'\\" t-att-data-product-tracking-info=\\"'product_tracking_info' in combination_info and json.dumps(combination_info['product_tracking_info'])\\">\\n                    <div class=\\"d-flex flex-wrap align-items-center\\">\\n                        <div class=\\"d-flex align-items-center flex-grow-1 mb-4 m-lg-0\\">\\n                            <ol class=\\"o_wsale_breadcrumb breadcrumb m-0 p-0\\">\\n                                <li class=\\"o_not_editable breadcrumb-item d-none d-lg-inline-block\\">\\n                                    <a t-att-href=\\"keep(shop_path)\\">\\n                                        <i class=\\"oi oi-chevron-left d-lg-none me-1\\" role=\\"presentation\\"/>Tous les produits\\n                                    </a>\\n                                </li>\\n                                <li t-nocache=\\"The category does not have to be cached, as the product can be accessed via different paths.\\" t-if=\\"category\\" class=\\"breadcrumb-item\\">\\n                                    <a class=\\"py-2 py-lg-0\\" t-att-href=\\"keep('%s/category/%s' % (shop_path, slug(category)))\\">\\n                                        <i class=\\"oi oi-chevron-left d-lg-none me-1\\" role=\\"presentation\\"/><t t-out=\\"category.name\\"/>\\n                                    </a>\\n                                </li>\\n                                <li t-else=\\"\\" class=\\"o_not_editable breadcrumb-item d-lg-none\\">\\n                                    <a class=\\"py-2 py-lg-0\\" t-att-href=\\"keep(shop_path)\\">\\n                                        <i class=\\"oi oi-chevron-left me-1\\" role=\\"presentation\\"/>Tous les produits\\n                                    </a>\\n                                </li>\\n                                <li class=\\"breadcrumb-item d-none d-lg-inline-block active\\">\\n                                    <span t-field=\\"product.name\\"/>\\n                                </li>\\n                            </ol>\\n                            <div class=\\"d-flex d-md-none gap-2 ms-auto\\">\\n                                <t t-call=\\"website_sale.pricelist_list\\"/>\\n                                <a t-attf-class=\\"o_wsale_product_search_mobile_btn o_not_editable btn btn-{{navClass}} d-none\\" data-bs-target=\\"#o_wsale_product_search_modal\\" data-bs-toggle=\\"modal\\" role=\\"button\\" title=\\"Chercher des produits\\" href=\\"#\\">\\n                                    <i class=\\"oi oi-search\\" role=\\"img\\"/>\\n                                </a>\\n                            </div>\\n                        </div>\\n                        <div class=\\"o_wsale_product_top_bar_desktop d-none d-md-flex flex-wrap gap-2 w-100 w-lg-auto mb-4 mb-lg-auto\\">\\n                            <t t-call=\\"website_sale.pricelist_list\\"/>\\n                        </div>\\n                    </div>\\n                    <div class=\\"row\\" id=\\"product_detail_main\\" data-name=\\"Product Page\\" t-att-data-image_width=\\"website.product_page_image_width\\" t-att-data-image_layout=\\"website.product_page_image_layout\\">\\n                        <t t-set=\\"image_cols\\" t-value=\\"website._get_product_page_proportions()\\"/>\\n                        <div t-attf-class=\\"col-lg-#{image_cols[0]} mt-lg-4 o_wsale_product_images position-relative\\" t-if=\\"website.product_page_image_width != 'none'\\" t-att-data-image-amount=\\"len(product_variant._get_images() if product_variant else product._get_images())\\">\\n                            <t t-call=\\"website_sale.shop_product_images\\"/>\\n                        </div>\\n                        <div t-attf-class=\\"col-lg-#{image_cols[1]} mt-md-4\\" id=\\"product_details\\">\\n                            <div t-attf-class=\\"js_product js_main_product row position-sticky #{'o_wsale_product_sticky_col' if website.product_page_image_layout == 'grid' else ''}\\">\\n                                <div t-att-class=\\"'col-lg-7' if is_fullwidth_content else 'col-lg-12'\\">\\n                                    <t t-set=\\"base_url\\" t-value=\\"website.get_base_url()\\"/>\\n                                    <h1 class=\\"h3\\" t-field=\\"product.name\\">Nom du produit</h1>\\n                                    <t t-if=\\"is_view_active('website_sale.product_comment')\\">\\n                                        <a href=\\"#o_product_page_reviews\\" class=\\"o_product_page_reviews_link d-block mb-2 text-decoration-none\\">\\n                                            <t t-call=\\"portal_rating.rating_widget_stars_static\\">\\n                                                <!-- sudo: product.product - visitor can access product average rating -->\\n                                                <t t-set=\\"rating_avg\\" t-value=\\"product.sudo().rating_avg\\"/>\\n                                                <t t-set=\\"trans_text_plural\\">%s avis</t>\\n                                                <t t-set=\\"trans_text_singular\\">%s avis</t>\\n                                                <t t-set=\\"rating_count\\" t-value=\\"(trans_text_plural if product.rating_count &gt; 1 else trans_text_singular) % product.rating_count\\"/>\\n                                            </t>\\n                                        </a>\\n                                    </t>\\n                                    <div t-field=\\"product.description_ecommerce\\" t-attf-class=\\"oe_structure text-muted {{not product.description_ecommerce and 'mb-0'}}\\" placeholder=\\"Une description détaillée et formatée pour promouvoir votre produit sur cette page. Utilisez '/' pour découvrir d'autres fonctionnalités.\\"/>\\n                                    <t t-if=\\"is_view_active('website_sale.product_tags')\\" t-call=\\"website_sale.product_tags\\">\\n                                        <t t-set=\\"all_product_tags\\" t-value=\\"product_variant.all_product_tag_ids\\"/>\\n                                    </t>\\n                                    <form t-if=\\"product._is_add_to_cart_possible()\\">\\n                                        <input type=\\"hidden\\" name=\\"csrf_token\\" t-att-value=\\"request.csrf_token()\\" t-nocache=\\"The csrf token must always be up to date.\\"/>\\n                                        <div>\\n                                            <t t-if=\\"not is_view_active('website_sale.cta_wrapper_boxed')\\" t-call=\\"website_sale.product_price\\"/>\\n                                            <small t-if=\\"combination_info.get('base_unit_price')\\" class=\\"ms-1 text-muted o_base_unit_price_wrapper d-none\\">\\n                                                <t t-call=\\"website_sale.base_unit_price\\">\\n                                                    <t t-set=\\"base_unit_price\\" t-value=\\"combination_info['base_unit_price']\\"/>\\n                                                </t>\\n                                            </small>\\n                                        </div>\\n                                        <t name=\\"variant_info\\">\\n                                            <input type=\\"hidden\\" class=\\"o_not_editable product_id\\" name=\\"product_id\\" t-att-value=\\"product_variant.id\\"/>\\n                                            <input type=\\"hidden\\" class=\\"o_not_editable product_template_id\\" name=\\"product_template_id\\" t-att-value=\\"product.id\\"/>\\n                                            <input t-if=\\"product.public_categ_ids.ids\\" type=\\"hidden\\" class=\\"product_category_id\\" name=\\"product_category_id\\" t-att-value=\\"product.public_categ_ids.ids[0]\\"/>\\n                                            <input type=\\"hidden\\" name=\\"product_type\\" t-att-value=\\"product.type\\"/>\\n                                            <t t-call=\\"website_sale.variants\\">\\n                                                <t t-set=\\"ul_class\\" t-valuef=\\"flex-column\\"/>\\n                                                <t t-set=\\"parent_combination\\" t-value=\\"None\\"/>\\n                                                <t t-set=\\"combination\\" t-value=\\"combination_info['combination']\\"/>\\n                                            </t>\\n                                        </t>\\n                                        <t t-if=\\"not is_fullwidth_content\\" t-call=\\"website_sale.cta_wrapper\\"/>\\n                                    </form>\\n                                    <p t-elif=\\"not product.active\\" class=\\"alert alert-warning\\">\\n                                        Ce produit n'est plus disponible.\\n                                    </p>\\n                                    <p t-else=\\"\\" class=\\"alert alert-warning\\">\\n                                        Ce produit n'a pas de combinaison existante\\n                                    </p>\\n                                    <t t-call=\\"website_sale.product_accordion\\"/>\\n                                    <div id=\\"contact_us_wrapper\\" t-attf-class=\\"{{'d-flex' if combination_info['prevent_zero_price_sale'] else 'd-none'}} oe_structure oe_structure_solo #{_div_classes}\\">\\n                                        <section class=\\"s_text_block\\" data-snippet=\\"s_text_block\\" data-name=\\"Text\\">\\n                                            <div class=\\"container\\">\\n                                                <a t-att-href=\\"website.contact_us_button_url\\" t-att-data-url=\\"website.contact_us_button_url\\" class=\\"btn btn-primary btn_cta\\">\\n                                                    Contactez-nous\\n                                                </a>\\n                                            </div>\\n                                        </section>\\n                                    </div>\\n                                    <div t-if=\\"not is_view_active('website_sale_comparison.accordion_specs_item')\\" id=\\"product_attributes_simple\\">\\n                                        <t t-set=\\"single_value_attributes\\" t-value=\\"product.valid_product_template_attribute_line_ids._prepare_single_value_for_display()\\"/>\\n                                        <table t-attf-class=\\"table table-sm text-muted {{'' if single_value_attributes else 'd-none'}}\\">\\n                                            <t t-foreach=\\"single_value_attributes\\" t-as=\\"attribute\\">\\n                                                <tr>\\n                                                    <td>\\n                                                        <span t-field=\\"attribute.name\\"/>:\\n                                                        <t t-foreach=\\"single_value_attributes[attribute]\\" t-as=\\"ptal\\">\\n                                                            <span t-field=\\"ptal.product_template_value_ids._only_active().name\\"/>\\n                                                            <t t-if=\\"not ptal_last\\">, </t>\\n                                                        </t>\\n                                                    </td>\\n                                                </tr>\\n                                            </t>\\n                                        </table>\\n                                    </div>\\n                                    <t t-set=\\"product_documents\\" t-value=\\"product.sudo().product_document_ids.filtered(lambda doc: doc.shown_on_product_page)\\"/>\\n                                    <div id=\\"product_documents\\" class=\\"my-4\\" t-if=\\"product_documents\\">\\n                                        <h6>Documents</h6>\\n                                        <div class=\\"list-group\\">\\n                                            <t t-foreach=\\"product_documents\\" t-as=\\"document_sudo\\">\\n                                                <t t-set=\\"attachment_sudo\\" t-value=\\"document_sudo.ir_attachment_id\\"/>\\n                                                <t t-set=\\"target\\" t-value=\\"attachment_sudo.type == 'url' and '_blank' or '_self'\\"/>\\n                                                <t t-set=\\"icon\\" t-value=\\"attachment_sudo.type == 'url' and 'fa-link' or 'fa-download'\\"/>\\n                                                <a class=\\"list-group-item list-group-item-action\\" t-att-href=\\"'/shop/' + slug(product) + '/document/' + str(document_sudo.id)\\" t-att-target=\\"target\\">\\n                                                    <i t-att-class=\\"'fa ' + icon + ' me-2'\\"/>\\n                                                    <t t-out=\\"attachment_sudo.name\\"/>\\n                                                </a>\\n                                            </t>\\n                                        </div>\\n                                    </div>\\n                                    <t t-if=\\"not is_fullwidth_content\\" t-call=\\"website_sale.product_terms_and_conditions\\"/>\\n                                </div>\\n                                <div t-if=\\"is_fullwidth_content\\" t-attf-class=\\"col-lg-4 offset-lg-1\\">\\n                                    <div class=\\"o_wsale_product_sticky_col position-sticky\\">\\n                                        <t t-call=\\"website_sale.cta_wrapper\\"/>\\n                                        <t t-call=\\"website_sale.product_terms_and_conditions\\"/>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </section>\\n                <div id=\\"product_full_description\\" t-field=\\"product.website_description\\" class=\\"oe_structure oe_empty mt16\\"/>\\n                <div class=\\"oe_structure oe_empty oe_structure_not_nearest mt16\\" id=\\"oe_structure_website_sale_product_2\\" data-editor-message.translate=\\"DÉPOSEZ DES BLOCS DE CONSTRUCTION ICI POUR LES RENDRE DISPONIBLES POUR TOUS LES PRODUITS\\"/>\\n            </div>\\n            <div id=\\"o_wsale_product_search_modal\\" class=\\"modal fade css_editable_mode_hidden\\" aria-hidden=\\"true\\" tabindex=\\"-1\\">\\n                <div class=\\"modal-dialog modal-lg pt-5\\">\\n                    <div class=\\"modal-content mt-5 bg-transparent border-0\\">\\n                        <div class=\\"o_container_small\\">\\n                            <t t-call=\\"website.website_search_box_input\\">\\n                                <t t-set=\\"default_style\\" t-valuef=\\"true\\"/>\\n                                <t t-set=\\"search_type\\" t-valuef=\\"products\\"/>\\n                                <t t-set=\\"_classes\\" t-valuef=\\"input-group rounded o_cc o_cc1 mb-1\\"/>\\n                                <t t-set=\\"_input_classes\\" t-valuef=\\"border-0 p-3\\"/>\\n                                <t t-set=\\"_submit_classes\\" t-valuef=\\"px-4\\"/>\\n                                <t t-if=\\"category\\" t-set=\\"placeholder\\">Chercher dans <t t-out=\\"category.name\\"/></t>\\n                            </t>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Product" track="1" t-name="website_sale.product">\n        <!-- Qweb variable defining the class suffix for navbar items.\n             Change accordingly to the derired visual result (eg. `primary`, `dark`...)-->\n        <t t-set="navClass" t-valuef="light"/>\n\n        <t t-set="combination_info" t-value="product._get_combination_info()"/>\n        <t t-set="product_variant" t-value="product.env['product.product'].browse(combination_info['product_id'])"/>\n        <t t-set="is_fullwidth_content" t-value="website.product_page_image_width in ['none', '100_pc']"/>\n        <t t-set="is_50_pc" t-value="website.product_page_image_width == '50_pc'"/>\n\n        <t t-call="website.layout">\n            <t t-set="additional_title" t-value="product.name"/>\n            <div id="wrap" class="js_sale o_wsale_product_page">\n                <div class="oe_structure oe_empty oe_structure_not_nearest" id="oe_structure_website_sale_product_1" data-editor-message.translate="DROP BUILDING BLOCKS HERE TO MAKE THEM AVAILABLE ACROSS ALL PRODUCTS"/>\n                <section id="product_detail" t-attf-class="oe_website_sale container mt-4 mb-5 #{'discount'                             if combination_info['has_discounted_price'] else ''}" t-att-data-view-track="view_track and '1' or '0'" t-att-data-product-tracking-info="'product_tracking_info' in combination_info and json.dumps(combination_info['product_tracking_info'])">\n                    <div class="d-flex flex-wrap align-items-center">\n                        <div class="d-flex align-items-center flex-grow-1 mb-4 m-lg-0">\n                            <ol class="o_wsale_breadcrumb breadcrumb m-0 p-0">\n                                <li class="o_not_editable breadcrumb-item d-none d-lg-inline-block">\n                                    <a t-att-href="keep(shop_path)">\n                                        <i class="oi oi-chevron-left d-lg-none me-1" role="presentation"/>All Products\n                                    </a>\n                                </li>\n                                <li t-nocache="The category does not have to be cached, as the product can be accessed via different paths." t-if="category" class="breadcrumb-item">\n                                    <a class="py-2 py-lg-0" t-att-href="keep('%s/category/%s' % (shop_path, slug(category)))">\n                                        <i class="oi oi-chevron-left d-lg-none me-1" role="presentation"/><t t-out="category.name"/>\n                                    </a>\n                                </li>\n                                <li t-else="" class="o_not_editable breadcrumb-item d-lg-none">\n                                    <a class="py-2 py-lg-0" t-att-href="keep(shop_path)">\n                                        <i class="oi oi-chevron-left me-1" role="presentation"/>All Products\n                                    </a>\n                                </li>\n                                <li class="breadcrumb-item d-none d-lg-inline-block active">\n                                    <span t-field="product.name"/>\n                                </li>\n                            </ol>\n                            <div class="d-flex d-md-none gap-2 ms-auto">\n                                <t t-call="website_sale.pricelist_list"/>\n                                <a t-attf-class="o_wsale_product_search_mobile_btn o_not_editable btn btn-{{navClass}} d-none" data-bs-target="#o_wsale_product_search_modal" data-bs-toggle="modal" role="button" title="Search Products" href="#">\n                                    <i class="oi oi-search" role="img"/>\n                                </a>\n                            </div>\n                        </div>\n                        <div class="o_wsale_product_top_bar_desktop d-none d-md-flex flex-wrap gap-2 w-100 w-lg-auto mb-4 mb-lg-auto">\n                            <t t-call="website_sale.pricelist_list"/>\n                        </div>\n                    </div>\n                    <div class="row" id="product_detail_main" data-name="Product Page" t-att-data-image_width="website.product_page_image_width" t-att-data-image_layout="website.product_page_image_layout">\n                        <t t-set="image_cols" t-value="website._get_product_page_proportions()"/>\n                        <div t-attf-class="col-lg-#{image_cols[0]} mt-lg-4 o_wsale_product_images position-relative" t-if="website.product_page_image_width != 'none'" t-att-data-image-amount="len(product_variant._get_images() if product_variant else product._get_images())">\n                            <t t-call="website_sale.shop_product_images"/>\n                        </div>\n                        <div t-attf-class="col-lg-#{image_cols[1]} mt-md-4" id="product_details">\n                            <div t-attf-class="js_product js_main_product row position-sticky #{'o_wsale_product_sticky_col' if website.product_page_image_layout == 'grid' else ''}">\n                                <div t-att-class="'col-lg-7' if is_fullwidth_content else 'col-lg-12'">\n                                    <t t-set="base_url" t-value="website.get_base_url()"/>\n                                    <h1 class="h3" t-field="product.name">Product Name</h1>\n                                    <t t-if="is_view_active('website_sale.product_comment')">\n                                        <a href="#o_product_page_reviews" class="o_product_page_reviews_link d-block mb-2 text-decoration-none">\n                                            <t t-call="portal_rating.rating_widget_stars_static">\n                                                <!-- sudo: product.product - visitor can access product average rating -->\n                                                <t t-set="rating_avg" t-value="product.sudo().rating_avg"/>\n                                                <t t-set="trans_text_plural">%s reviews</t>\n                                                <t t-set="trans_text_singular">%s review</t>\n                                                <t t-set="rating_count" t-value="(trans_text_plural if product.rating_count &gt; 1 else trans_text_singular) % product.rating_count"/>\n                                            </t>\n                                        </a>\n                                    </t>\n                                    <div t-field="product.description_ecommerce" t-attf-class="oe_structure text-muted {{not product.description_ecommerce and 'mb-0'}}" placeholder="A detailed, formatted description to promote your product on this page. Use '/' to discover more features."/>\n                                    <t t-if="is_view_active('website_sale.product_tags')" t-call="website_sale.product_tags">\n                                        <t t-set="all_product_tags" t-value="product_variant.all_product_tag_ids"/>\n                                    </t>\n                                    <form t-if="product._is_add_to_cart_possible()">\n                                        <input type="hidden" name="csrf_token" t-att-value="request.csrf_token()" t-nocache="The csrf token must always be up to date."/>\n                                        <div>\n                                            <t t-if="not is_view_active('website_sale.cta_wrapper_boxed')" t-call="website_sale.product_price"/>\n                                            <small t-if="combination_info.get('base_unit_price')" class="ms-1 text-muted o_base_unit_price_wrapper d-none">\n                                                <t t-call="website_sale.base_unit_price">\n                                                    <t t-set="base_unit_price" t-value="combination_info['base_unit_price']"/>\n                                                </t>\n                                            </small>\n                                        </div>\n                                        <t name="variant_info">\n                                            <input type="hidden" class="o_not_editable product_id" name="product_id" t-att-value="product_variant.id"/>\n                                            <input type="hidden" class="o_not_editable product_template_id" name="product_template_id" t-att-value="product.id"/>\n                                            <input t-if="product.public_categ_ids.ids" type="hidden" class="product_category_id" name="product_category_id" t-att-value="product.public_categ_ids.ids[0]"/>\n                                            <input type="hidden" name="product_type" t-att-value="product.type"/>\n                                            <t t-call="website_sale.variants">\n                                                <t t-set="ul_class" t-valuef="flex-column"/>\n                                                <t t-set="parent_combination" t-value="None"/>\n                                                <t t-set="combination" t-value="combination_info['combination']"/>\n                                            </t>\n                                        </t>\n                                        <t t-if="not is_fullwidth_content" t-call="website_sale.cta_wrapper"/>\n                                    </form>\n                                    <p t-elif="not product.active" class="alert alert-warning">\n                                        This product is no longer available.\n                                    </p>\n                                    <p t-else="" class="alert alert-warning">\n                                        This product has no valid combination.\n                                    </p>\n                                    <t t-call="website_sale.product_accordion"/>\n                                    <div id="contact_us_wrapper" t-attf-class="{{'d-flex' if combination_info['prevent_zero_price_sale'] else 'd-none'}} oe_structure oe_structure_solo #{_div_classes}">\n                                        <section class="s_text_block" data-snippet="s_text_block" data-name="Text">\n                                            <div class="container">\n                                                <a t-att-href="website.contact_us_button_url" t-att-data-url="website.contact_us_button_url" class="btn btn-primary btn_cta">\n                                                    Contact Us\n                                                </a>\n                                            </div>\n                                        </section>\n                                    </div>\n                                    <div t-if="not is_view_active('website_sale_comparison.accordion_specs_item')" id="product_attributes_simple">\n                                        <t t-set="single_value_attributes" t-value="product.valid_product_template_attribute_line_ids._prepare_single_value_for_display()"/>\n                                        <table t-attf-class="table table-sm text-muted {{'' if single_value_attributes else 'd-none'}}">\n                                            <t t-foreach="single_value_attributes" t-as="attribute">\n                                                <tr>\n                                                    <td>\n                                                        <span t-field="attribute.name"/>:\n                                                        <t t-foreach="single_value_attributes[attribute]" t-as="ptal">\n                                                            <span t-field="ptal.product_template_value_ids._only_active().name"/>\n                                                            <t t-if="not ptal_last">, </t>\n                                                        </t>\n                                                    </td>\n                                                </tr>\n                                            </t>\n                                        </table>\n                                    </div>\n                                    <t t-set="product_documents" t-value="product.sudo().product_document_ids.filtered(lambda doc: doc.shown_on_product_page)"/>\n                                    <div id="product_documents" class="my-4" t-if="product_documents">\n                                        <h6>Documents</h6>\n                                        <div class="list-group">\n                                            <t t-foreach="product_documents" t-as="document_sudo">\n                                                <t t-set="attachment_sudo" t-value="document_sudo.ir_attachment_id"/>\n                                                <t t-set="target" t-value="attachment_sudo.type == 'url' and '_blank' or '_self'"/>\n                                                <t t-set="icon" t-value="attachment_sudo.type == 'url' and 'fa-link' or 'fa-download'"/>\n                                                <a class="list-group-item list-group-item-action" t-att-href="'/shop/' + slug(product) + '/document/' + str(document_sudo.id)" t-att-target="target">\n                                                    <i t-att-class="'fa ' + icon + ' me-2'"/>\n                                                    <t t-out="attachment_sudo.name"/>\n                                                </a>\n                                            </t>\n                                        </div>\n                                    </div>\n                                    <t t-if="not is_fullwidth_content" t-call="website_sale.product_terms_and_conditions"/>\n                                </div>\n                                <div t-if="is_fullwidth_content" t-attf-class="col-lg-4 offset-lg-1">\n                                    <div class="o_wsale_product_sticky_col position-sticky">\n                                        <t t-call="website_sale.cta_wrapper"/>\n                                        <t t-call="website_sale.product_terms_and_conditions"/>\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </section>\n                <div id="product_full_description" t-field="product.website_description" class="oe_structure oe_empty mt16"/>\n                <div class="oe_structure oe_empty oe_structure_not_nearest mt16" id="oe_structure_website_sale_product_2" data-editor-message.translate="DROP BUILDING BLOCKS HERE TO MAKE THEM AVAILABLE ACROSS ALL PRODUCTS"/>\n            </div>\n            <div id="o_wsale_product_search_modal" class="modal fade css_editable_mode_hidden" aria-hidden="true" tabindex="-1">\n                <div class="modal-dialog modal-lg pt-5">\n                    <div class="modal-content mt-5 bg-transparent border-0">\n                        <div class="o_container_small">\n                            <t t-call="website.website_search_box_input">\n                                <t t-set="default_style" t-valuef="true"/>\n                                <t t-set="search_type" t-valuef="products"/>\n                                <t t-set="_classes" t-valuef="input-group rounded o_cc o_cc1 mb-1"/>\n                                <t t-set="_input_classes" t-valuef="border-0 p-3"/>\n                                <t t-set="_submit_classes" t-valuef="px-4"/>\n                                <t t-if="category" t-set="placeholder">Search in <t t-out="category.name"/></t>\n                            </t>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </t>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	t
2421	16	\N	1	1	CTA Wrapper	\N	website_sale.cta_wrapper	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"CTA Wrapper\\" t-name=\\"website_sale.cta_wrapper\\">\\n        <div id=\\"o_wsale_cta_wrapper\\" t-att-class=\\"'d-flex flex-wrap align-items-center gap-2 my-4' + (' w-100 w-lg-auto' if is_50_pc else ' w-100') + (' pt-3' if not is_fullwidth_content and not is_view_active('website_sale.cta_wrapper_boxed') else ' ')\\">\\n            <div id=\\"add_to_cart_wrap\\" t-attf-class=\\"{{'d-none' if combination_info['prevent_zero_price_sale'] else 'd-flex'}} flex-grow-1 flex-lg-grow-0 flex-wrap align-items-center gap-2 {{'' if is_50_pc else ' w-100'}}\\">\\n                <a id=\\"add_to_cart\\" role=\\"button\\" href=\\"#\\" t-attf-class=\\"btn btn-primary js_check_product a-submit flex-grow-1\\" t-att-data-show-quantity=\\"is_view_active('website_sale.product_quantity')\\" data-animation-selector=\\".o_wsale_product_images\\">\\n                    <i class=\\"fa fa-shopping-cart me-2\\"/>\\n                    Add to cart\\n                </a>\\n            </div>\\n            <div id=\\"product_option_block\\" t-attf-class=\\"d-flex d-empty-none flex-wrap gap-2 {{'' if is_50_pc and not (is_view_active('website_sale.cta_wrapper_boxed') or is_view_active('website_sale.cta_wrapper_large')) else ' w-100'}}\\"/>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t name="CTA Wrapper" t-name="website_sale.cta_wrapper">\n        <div id="o_wsale_cta_wrapper" t-att-class="'d-flex flex-wrap align-items-center gap-2 my-4' + (' w-100 w-lg-auto' if is_50_pc else ' w-100') + (' pt-3' if not is_fullwidth_content and not is_view_active('website_sale.cta_wrapper_boxed') else ' ')">\n            <div id="add_to_cart_wrap" t-attf-class="{{'d-none' if combination_info['prevent_zero_price_sale'] else 'd-flex'}} flex-grow-1 flex-lg-grow-0 flex-wrap align-items-center gap-2 {{'' if is_50_pc else ' w-100'}}">\n                <a id="add_to_cart" role="button" href="#" t-attf-class="btn btn-primary js_check_product a-submit flex-grow-1" t-att-data-show-quantity="is_view_active('website_sale.product_quantity')" data-animation-selector=".o_wsale_product_images">\n                    <i class="fa fa-shopping-cart me-2"/>\n                    Add to cart\n                </a>\n            </div>\n            <div id="product_option_block" t-attf-class="d-flex d-empty-none flex-wrap gap-2 {{'' if is_50_pc and not (is_view_active('website_sale.cta_wrapper_boxed') or is_view_active('website_sale.cta_wrapper_large')) else ' w-100'}}"/>\n        </div>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2422	16	2421	1	1	Bordered CTA Wrapper	\N	website_sale.cta_wrapper_boxed	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.cta_wrapper\\" active=\\"False\\" name=\\"Bordered CTA Wrapper\\">\\n        <xpath expr=\\"//div[@id='o_wsale_cta_wrapper']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-att-class\\" remove=\\"pt-3\\" add=\\"' o_wsale_cta_wrapper_boxed border rounded p-3'\\" separator=\\" + \\"/>\\n        </xpath>\\n        <xpath expr=\\"//div[@id='add_to_cart_wrap']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-attf-class\\" remove=\\"flex-lg-grow-0\\" separator=\\" \\"/>\\n        </xpath>\\n        <xpath expr=\\"//div[@id='product_option_block']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-att-class\\" remove=\\"flex-lg-grow-0\\" separator=\\" \\"/>\\n        </xpath>\\n        <xpath expr=\\"//div[@id='o_wsale_cta_wrapper']\\" position=\\"inside\\">\\n            <div class=\\"d-flex gap-5 flex-grow-1 justify-content-between align-items-center order-first w-100 mb-3 pb-3 border-bottom\\">\\n                <span class=\\"text-muted\\">Price</span>\\n                <t t-call=\\"website_sale.product_price\\"/>\\n            </div>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.cta_wrapper" active="False" name="Bordered CTA Wrapper">\n        <xpath expr="//div[@id='o_wsale_cta_wrapper']" position="attributes">\n            <attribute name="t-att-class" remove="pt-3" add="' o_wsale_cta_wrapper_boxed border rounded p-3'" separator=" + "/>\n        </xpath>\n        <xpath expr="//div[@id='add_to_cart_wrap']" position="attributes">\n            <attribute name="t-attf-class" remove="flex-lg-grow-0" separator=" "/>\n        </xpath>\n        <xpath expr="//div[@id='product_option_block']" position="attributes">\n            <attribute name="t-att-class" remove="flex-lg-grow-0" separator=" "/>\n        </xpath>\n        <xpath expr="//div[@id='o_wsale_cta_wrapper']" position="inside">\n            <div class="d-flex gap-5 flex-grow-1 justify-content-between align-items-center order-first w-100 mb-3 pb-3 border-bottom">\n                <span class="text-muted">Price</span>\n                <t t-call="website_sale.product_price"/>\n            </div>\n        </xpath>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2574	16	557	2	2	Headline	\N	website.template_footer_headline	qweb	website/views/website_templates.xml	extension	{"en_US": "<data inherit_id=\\"website.layout\\" name=\\"Headline\\" active=\\"False\\">\\n    <xpath expr=\\"//div[@id='footer']\\" position=\\"replace\\">\\n        <div id=\\"footer\\" class=\\"oe_structure oe_structure_solo\\" t-ignore=\\"true\\" t-if=\\"not no_footer\\">\\n            <section class=\\"s_text_block pt48\\" data-snippet=\\"s_text_block\\" data-name=\\"Text\\">\\n                <div class=\\"container\\">\\n                    <div class=\\"row\\">\\n                        <div class=\\"col-lg-3 pb24\\">\\n                            <h4><b>Conçu</b><br/>pour les entreprises</h4>\\n                        </div>\\n                        <div class=\\"col-lg-9 pb24\\">\\n                            <p class=\\"lead\\">Nous sommes une équipe de passionnés dont le but est d'améliorer la vie de chacun. <br/>Nos services s'adressent aux petites et moyennes entreprises.</p>\\n                        </div>\\n                        <div class=\\"col-lg-3 pb24\\">\\n                            <ul class=\\"ps-3 mb-0\\">\\n                                <li><a href=\\"/\\">Accueil</a></li>\\n                                <li><a href=\\"/contactus\\">Contactez-nous</a></li>\\n                                <t t-set=\\"configurator_footer_links\\" t-value=\\"[{&quot;text&quot;: &quot;Politique vie priv\\\\u00e9e&quot;, &quot;href&quot;: &quot;/privacy&quot;}]\\"/>\\n                                <li t-foreach=\\"configurator_footer_links\\" t-as=\\"link\\">\\n                                    <a t-att-href=\\"link['href']\\" t-esc=\\"link['text']\\"/>\\n                                </li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-6 pb24\\">\\n                            <ul class=\\"list-unstyled mb-0\\">\\n                                <li><i class=\\"fa fa-phone fa-fw me-2\\"/><span class=\\"o_force_ltr\\"><a href=\\"tel:+1 555-555-5556\\">+1 555-555-5556</a></span></li>\\n                                <li><i class=\\"fa fa-envelope fa-fw me-2\\"/><span><a href=\\"mailto:info@yourcompany.example.com\\">info@yourcompany.example.com</a></span></li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-3 pb24\\">\\n                            <div class=\\"s_social_media text-end o_not_editable\\" data-snippet=\\"s_social_media\\" data-name=\\"Social Media\\" contenteditable=\\"false\\">\\n                                <h5 class=\\"s_social_media_title d-none\\" contenteditable=\\"true\\">Suivez-nous</h5>\\n                                <a href=\\"/website/social/facebook\\" class=\\"s_social_media_facebook\\" target=\\"_blank\\" aria-label=\\"Facebook\\">\\n                                    <i class=\\"fa fa-1x fa-facebook rounded-circle shadow-sm o_editable_media\\"/>\\n                                </a>\\n                                <a href=\\"/website/social/twitter\\" class=\\"s_social_media_twitter\\" target=\\"_blank\\" aria-label=\\"X\\">\\n                                    <i class=\\"fa fa-1x fa-twitter rounded-circle shadow-sm o_editable_media\\"/>\\n                                </a>\\n                                <a href=\\"/website/social/instagram\\" class=\\"s_social_media_instagram\\" target=\\"_blank\\" aria-label=\\"Instagram\\">\\n                                    <i class=\\"fa fa-1x fa-instagram rounded-circle shadow-sm o_editable_media\\"/>\\n                                </a>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n            </section>\\n        </div>\\n    </xpath>\\n</data>", "fr_FR": "<data inherit_id=\\"website.layout\\" name=\\"Headline\\" active=\\"False\\">\\n    <xpath expr=\\"//div[@id='footer']\\" position=\\"replace\\">\\n        <div id=\\"footer\\" class=\\"oe_structure oe_structure_solo\\" t-ignore=\\"true\\" t-if=\\"not no_footer\\">\\n            <section class=\\"s_text_block pt48\\" data-snippet=\\"s_text_block\\" data-name=\\"Text\\">\\n                <div class=\\"container\\">\\n                    <div class=\\"row\\">\\n                        <div class=\\"col-lg-3 pb24\\">\\n                            <h4><b>Conçu</b><br/>pour les entreprises</h4>\\n                        </div>\\n                        <div class=\\"col-lg-9 pb24\\">\\n                            <p class=\\"lead\\">Nous sommes une équipe de passionnés dont le but est d'améliorer la vie de chacun. <br/>Nos services s'adressent aux petites et moyennes entreprises.</p>\\n                        </div>\\n                        <div class=\\"col-lg-3 pb24\\">\\n                            <ul class=\\"ps-3 mb-0\\">\\n                                <li><a href=\\"/\\">Accueil</a></li>\\n                                <li><a href=\\"/contactus\\">Contactez-nous</a></li>\\n                                <t t-set=\\"configurator_footer_links\\" t-value=\\"[{&quot;text&quot;: &quot;Politique vie priv\\\\u00e9e&quot;, &quot;href&quot;: &quot;/privacy&quot;}]\\"/>\\n                                <li t-foreach=\\"configurator_footer_links\\" t-as=\\"link\\">\\n                                    <a t-att-href=\\"link['href']\\" t-esc=\\"link['text']\\"/>\\n                                </li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-6 pb24\\">\\n                            <ul class=\\"list-unstyled mb-0\\">\\n                                <li><i class=\\"fa fa-phone fa-fw me-2\\"/><span class=\\"o_force_ltr\\"><a href=\\"tel:+1 555-555-5556\\">+1 555-555-5556</a></span></li>\\n                                <li><i class=\\"fa fa-envelope fa-fw me-2\\"/><span><a href=\\"mailto:info@yourcompany.example.com\\">info@yourcompany.example.com</a></span></li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-3 pb24\\">\\n                            <div class=\\"s_social_media text-end o_not_editable\\" data-snippet=\\"s_social_media\\" data-name=\\"Social Media\\" contenteditable=\\"false\\">\\n                                <h5 class=\\"s_social_media_title d-none\\" contenteditable=\\"true\\">Suivez-nous</h5>\\n                                <a href=\\"/website/social/facebook\\" class=\\"s_social_media_facebook\\" target=\\"_blank\\" aria-label=\\"Facebook\\">\\n                                    <i class=\\"fa fa-1x fa-facebook rounded-circle shadow-sm o_editable_media\\"/>\\n                                </a>\\n                                <a href=\\"/website/social/twitter\\" class=\\"s_social_media_twitter\\" target=\\"_blank\\" aria-label=\\"X\\">\\n                                    <i class=\\"fa fa-1x fa-twitter rounded-circle shadow-sm o_editable_media\\"/>\\n                                </a>\\n                                <a href=\\"/website/social/instagram\\" class=\\"s_social_media_instagram\\" target=\\"_blank\\" aria-label=\\"Instagram\\">\\n                                    <i class=\\"fa fa-1x fa-instagram rounded-circle shadow-sm o_editable_media\\"/>\\n                                </a>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n            </section>\\n        </div>\\n    </xpath>\\n</data>"}	<data inherit_id="website.layout" name="Headline" active="False">\n    <xpath expr="//div[@id='footer']" position="replace">\n        <div id="footer" class="oe_structure oe_structure_solo" t-ignore="true" t-if="not no_footer">\n            <section class="s_text_block pt48" data-snippet="s_text_block" data-name="Text">\n                <div class="container">\n                    <div class="row">\n                        <div class="col-lg-3 pb24">\n                            <h4><b>Conçu</b><br/>pour les entreprises</h4>\n                        </div>\n                        <div class="col-lg-9 pb24">\n                            <p class="lead">Nous sommes une équipe de passionnés dont le but est d'améliorer la vie de chacun. <br/>Nos services s'adressent aux petites et moyennes entreprises.</p>\n                        </div>\n                        <div class="col-lg-3 pb24">\n                            <ul class="ps-3 mb-0">\n                                <li><a href="/">Accueil</a></li>\n                                <li><a href="/contactus">Contactez-nous</a></li>\n                                <t t-set="configurator_footer_links" t-value="[]"/>\n                                <li t-foreach="configurator_footer_links" t-as="link">\n                                    <a t-att-href="link['href']" t-esc="link['text']"/>\n                                </li>\n                            </ul>\n                        </div>\n                        <div class="col-lg-6 pb24">\n                            <ul class="list-unstyled mb-0">\n                                <li><i class="fa fa-phone fa-fw me-2"/><span class="o_force_ltr"><a href="tel:+1 555-555-5556">+1 555-555-5556</a></span></li>\n                                <li><i class="fa fa-envelope fa-fw me-2"/><span><a href="mailto:info@yourcompany.example.com">info@yourcompany.example.com</a></span></li>\n                            </ul>\n                        </div>\n                        <div class="col-lg-3 pb24">\n                            <div class="s_social_media text-end o_not_editable" data-snippet="s_social_media" data-name="Social Media" contenteditable="false">\n                                <h5 class="s_social_media_title d-none" contenteditable="true">Suivez-nous</h5>\n                                <a href="/website/social/facebook" class="s_social_media_facebook" target="_blank" aria-label="Facebook">\n                                    <i class="fa fa-1x fa-facebook rounded-circle shadow-sm o_editable_media"/>\n                                </a>\n                                <a href="/website/social/twitter" class="s_social_media_twitter" target="_blank" aria-label="X">\n                                    <i class="fa fa-1x fa-twitter rounded-circle shadow-sm o_editable_media"/>\n                                </a>\n                                <a href="/website/social/instagram" class="s_social_media_instagram" target="_blank" aria-label="Instagram">\n                                    <i class="fa fa-1x fa-instagram rounded-circle shadow-sm o_editable_media"/>\n                                </a>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </section>\n        </div>\n    </xpath>\n</data>	f	f	2025-07-20 21:22:23.081511	2025-07-20 21:22:23.081511	f	1	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2423	16	2421	1	1	Large CTA Wrapper	\N	website_sale.cta_wrapper_large	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.cta_wrapper\\" active=\\"False\\" name=\\"Large CTA Wrapper\\">\\n        <xpath expr=\\"//div[@id='o_wsale_cta_wrapper']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-att-class\\" add=\\"' o_wsale_cta_wrapper_large'\\" separator=\\" + \\"/>\\n        </xpath>\\n        <xpath expr=\\"//div[@id='add_to_cart_wrap']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-attf-class\\" remove=\\"flex-lg-grow-0\\" separator=\\" \\"/>\\n        </xpath>\\n        <xpath expr=\\"//div[@id='product_option_block']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-att-class\\" remove=\\"flex-lg-grow-0\\" separator=\\" \\"/>\\n        </xpath>\\n        <xpath expr=\\"//a[@id='add_to_cart']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-attf-class\\" add=\\"btn-lg {{('' if is_50_pc else ' px-xl-0')}}\\" separator=\\" \\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.cta_wrapper" active="False" name="Large CTA Wrapper">\n        <xpath expr="//div[@id='o_wsale_cta_wrapper']" position="attributes">\n            <attribute name="t-att-class" add="' o_wsale_cta_wrapper_large'" separator=" + "/>\n        </xpath>\n        <xpath expr="//div[@id='add_to_cart_wrap']" position="attributes">\n            <attribute name="t-attf-class" remove="flex-lg-grow-0" separator=" "/>\n        </xpath>\n        <xpath expr="//div[@id='product_option_block']" position="attributes">\n            <attribute name="t-att-class" remove="flex-lg-grow-0" separator=" "/>\n        </xpath>\n        <xpath expr="//a[@id='add_to_cart']" position="attributes">\n            <attribute name="t-attf-class" add="btn-lg {{('' if is_50_pc else ' px-xl-0')}}" separator=" "/>\n        </xpath>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2424	16	2421	1	1	CTA Separator	\N	website_sale.cta_separator	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.cta_wrapper\\" active=\\"True\\" name=\\"CTA Separator\\">\\n        <xpath expr=\\"//div[@id='o_wsale_cta_wrapper']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-att-class\\" remove=\\"(' pt-3' if not is_fullwidth_content and not is_view_active('website_sale.cta_wrapper_boxed') else ' ')\\" add=\\"(' border-0 pt-0' if is_fullwidth_content and not is_view_active('website_sale.cta_wrapper_boxed') else ' border-top pt-4')\\" separator=\\" + \\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.cta_wrapper" active="True" name="CTA Separator">\n        <xpath expr="//div[@id='o_wsale_cta_wrapper']" position="attributes">\n            <attribute name="t-att-class" remove="(' pt-3' if not is_fullwidth_content and not is_view_active('website_sale.cta_wrapper_boxed') else ' ')" add="(' border-0 pt-0' if is_fullwidth_content and not is_view_active('website_sale.cta_wrapper_boxed') else ' border-top pt-4')" separator=" + "/>\n        </xpath>\n    </data>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2425	16	2420	1	1	Searchbar On Product Page	\N	website_sale.product_search	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.product\\" active=\\"False\\" name=\\"Searchbar On Product Page\\">\\n        <xpath expr=\\"//div[hasclass('o_wsale_product_top_bar_desktop')]\\" position=\\"inside\\">\\n            <t t-call=\\"website_sale.search\\">\\n                <t t-set=\\"search\\" t-value=\\"False\\"/>\\n                <t t-set=\\"_classes\\" t-value=\\"'me-sm-2'\\"/>\\n            </t>\\n        </xpath>\\n        <xpath expr=\\"//a[contains(@t-attf-class, 'o_wsale_product_search_mobile_btn')]\\" position=\\"attributes\\">\\n            <attribute name=\\"t-attf-class\\" add=\\"d-md-none\\" remove=\\"d-none\\" separator=\\" \\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.product" active="False" name="Searchbar On Product Page">\n        <xpath expr="//div[hasclass('o_wsale_product_top_bar_desktop')]" position="inside">\n            <t t-call="website_sale.search">\n                <t t-set="search" t-value="False"/>\n                <t t-set="_classes" t-value="'me-sm-2'"/>\n            </t>\n        </xpath>\n        <xpath expr="//a[contains(@t-attf-class, 'o_wsale_product_search_mobile_btn')]" position="attributes">\n            <attribute name="t-attf-class" add="d-md-none" remove="d-none" separator=" "/>\n        </xpath>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2426	16	\N	1	1	Accordion On Product Page	\N	website_sale.product_accordion	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Accordion On Product Page\\" t-name=\\"website_sale.product_accordion\\">\\n        <div t-if=\\"is_view_active('website_sale_comparison.accordion_specs_item')                   or is_view_active('website_sale.accordion_more_information')\\" id=\\"product_accordion\\" class=\\"o_accordion_not_initialized accordion accordion-flush my-4\\">\\n            <div t-if=\\"is_view_active('website_sale.accordion_more_information')\\" id=\\"more_information_accordion_item\\" class=\\"accordion-item\\"/>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Accordion On Product Page" t-name="website_sale.product_accordion">\n        <div t-if="is_view_active('website_sale_comparison.accordion_specs_item')                   or is_view_active('website_sale.accordion_more_information')" id="product_accordion" class="o_accordion_not_initialized accordion accordion-flush my-4">\n            <div t-if="is_view_active('website_sale.accordion_more_information')" id="more_information_accordion_item" class="accordion-item"/>\n        </div>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2428	16	\N	1	1	Product Tags	\N	website_sale.product_tags	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Product Tags\\" active=\\"True\\" t-name=\\"website_sale.product_tags\\">\\n        <div class=\\"o_product_tags o_field_tags d-flex flex-wrap align-items-center gap-2 mb-2 mt-1\\" t-if=\\"any(tag.visible_to_customers for tag in all_product_tags)\\">\\n            <t t-foreach=\\"all_product_tags\\" t-as=\\"tag\\">\\n                <t t-if=\\"tag.visible_to_customers\\">\\n                    <span t-if=\\"tag.image\\" class=\\"order-0\\" t-field=\\"tag.image\\" t-options=\\"{'widget': 'image', 'class': 'o_product_tag_img rounded'}\\"/>\\n                    <span t-else=\\"\\" class=\\"position-relative order-1 py-1 px-2\\">\\n                        <span class=\\"position-absolute top-0 start-0 w-100 h-100 rounded\\" t-attf-style=\\"background-color: #{tag.color}; opacity: .2;\\"/>\\n                        <span class=\\"text-nowrap small\\" t-attf-style=\\"color: #{tag.color}\\" t-field=\\"tag.name\\"/>\\n                    </span>\\n                </t>\\n            </t>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Product Tags" active="True" t-name="website_sale.product_tags">\n        <div class="o_product_tags o_field_tags d-flex flex-wrap align-items-center gap-2 mb-2 mt-1" t-if="any(tag.visible_to_customers for tag in all_product_tags)">\n            <t t-foreach="all_product_tags" t-as="tag">\n                <t t-if="tag.visible_to_customers">\n                    <span t-if="tag.image" class="order-0" t-field="tag.image" t-options="{'widget': 'image', 'class': 'o_product_tag_img rounded'}"/>\n                    <span t-else="" class="position-relative order-1 py-1 px-2">\n                        <span class="position-absolute top-0 start-0 w-100 h-100 rounded" t-attf-style="background-color: #{tag.color}; opacity: .2;"/>\n                        <span class="text-nowrap small" t-attf-style="color: #{tag.color}" t-field="tag.name"/>\n                    </span>\n                </t>\n            </t>\n        </div>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2430	21	\N	1	1	Terms and Conditions	\N	website_sale.product_terms_and_conditions	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Terms and Conditions\\" active=\\"True\\" priority=\\"21\\" t-name=\\"website_sale.product_terms_and_conditions\\">\\n        <small class=\\"text-muted mb-0\\">\\n            <a href=\\"/terms\\" class=\\"o_translate_inline text-muted\\"><u>Terms and Conditions</u></a><br/>\\n            30-day money-back guarantee<br/>\\n            Shipping: 2-3 Business Days\\n        </small>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Terms and Conditions" active="True" priority="21" t-name="website_sale.product_terms_and_conditions">\n        <small class="text-muted mb-0">\n            <a href="/terms" class="o_translate_inline text-muted"><u>Terms and Conditions</u></a><br/>\n            30-day money-back guarantee<br/>\n            Shipping: 2-3 Business Days\n        </small>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2431	16	2420	1	1	Automatic Image Zoom	\N	website_sale.product_picture_magnify_hover	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.product\\" name=\\"Automatic Image Zoom\\">\\n        <xpath expr=\\"//div[hasclass(&quot;o_wsale_product_page&quot;)]\\" position=\\"attributes\\">\\n            <attribute name=\\"data-ecom-zoom-auto\\">1</attribute>\\n            <attribute name=\\"class\\" separator=\\" \\" add=\\"ecom-zoomable zoomodoo-next\\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.product" name="Automatic Image Zoom">\n        <xpath expr="//div[hasclass(&quot;o_wsale_product_page&quot;)]" position="attributes">\n            <attribute name="data-ecom-zoom-auto">1</attribute>\n            <attribute name="class" separator=" " add="ecom-zoomable zoomodoo-next"/>\n        </xpath>\n    </data>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2432	16	2420	1	1	Image Zoom On Click	\N	website_sale.product_picture_magnify_click	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.product\\" active=\\"False\\" name=\\"Image Zoom On Click\\">\\n        <xpath expr=\\"//div[hasclass(&quot;o_wsale_product_page&quot;)]\\" position=\\"attributes\\">\\n            <attribute name=\\"data-ecom-zoom-click\\">1</attribute>\\n            <attribute name=\\"class\\" separator=\\" \\" add=\\"ecom-zoomable zoomodoo-next\\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.product" active="False" name="Image Zoom On Click">\n        <xpath expr="//div[hasclass(&quot;o_wsale_product_page&quot;)]" position="attributes">\n            <attribute name="data-ecom-zoom-click">1</attribute>\n            <attribute name="class" separator=" " add="ecom-zoomable zoomodoo-next"/>\n        </xpath>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2433	16	2420	1	1	Automatic Image Zoom And On Click	\N	website_sale.product_picture_magnify_both	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.product\\" active=\\"False\\" name=\\"Automatic Image Zoom And On Click\\">\\n        <xpath expr=\\"//div[hasclass(&quot;o_wsale_product_page&quot;)]\\" position=\\"attributes\\">\\n            <attribute name=\\"data-ecom-zoom-auto\\">1</attribute>\\n            <attribute name=\\"data-ecom-zoom-click\\">1</attribute>\\n            <attribute name=\\"class\\" separator=\\" \\" add=\\"ecom-zoomable zoomodoo-next\\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.product" active="False" name="Automatic Image Zoom And On Click">\n        <xpath expr="//div[hasclass(&quot;o_wsale_product_page&quot;)]" position="attributes">\n            <attribute name="data-ecom-zoom-auto">1</attribute>\n            <attribute name="data-ecom-zoom-click">1</attribute>\n            <attribute name="class" separator=" " add="ecom-zoomable zoomodoo-next"/>\n        </xpath>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2436	16	2435	1	1	Select Quantity Large	\N	website_sale.product_quantity_large	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.product_quantity\\" active=\\"False\\" name=\\"Select Quantity Large\\">\\n        <xpath expr=\\"//div[contains(@t-attf-class, 'css_quantity')]\\" position=\\"attributes\\">\\n            <attribute name=\\"t-attf-class\\" add=\\"input-group-lg {{(' css_quantity_50' if is_50_pc else '')}}\\" separator=\\" \\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.product_quantity" active="False" name="Select Quantity Large">\n        <xpath expr="//div[contains(@t-attf-class, 'css_quantity')]" position="attributes">\n            <attribute name="t-attf-class" add="input-group-lg {{(' css_quantity_50' if is_50_pc else '')}}" separator=" "/>\n        </xpath>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2438	16	2437	1	1	Large Buy Now Button	\N	website_sale.product_buy_now_large	qweb	website_sale/views/templates.xml	extension	{"en_US": "<data inherit_id=\\"website_sale.product_buy_now\\" active=\\"False\\" name=\\"Large Buy Now Button\\">\\n        <xpath expr=\\"//a[contains(@t-attf-class, 'o_we_buy_now')]\\" position=\\"attributes\\">\\n            <attribute name=\\"t-attf-class\\" add=\\"btn-lg\\" separator=\\" \\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="website_sale.product_buy_now" active="False" name="Large Buy Now Button">\n        <xpath expr="//a[contains(@t-attf-class, 'o_we_buy_now')]" position="attributes">\n            <attribute name="t-attf-class" add="btn-lg" separator=" "/>\n        </xpath>\n    </data>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2439	16	\N	1	1	website_sale.tax_indication	\N	website_sale.tax_indication	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t active=\\"False\\" t-name=\\"website_sale.tax_indication\\">\\n        <span t-if=\\"website.show_line_subtotals_tax_selection == 'tax_excluded'\\" class=\\"fs-6 fw-normal text-muted text-nowrap\\">\\n            (Tax excluded)\\n        </span>\\n        <span t-else=\\"\\" class=\\"fs-6 fw-normal text-muted text-nowrap\\">\\n            (Tax included)\\n        </span>\\n    </t>"}	<?xml version="1.0"?>\n<t active="False" t-name="website_sale.tax_indication">\n        <span t-if="website.show_line_subtotals_tax_selection == 'tax_excluded'" class="fs-6 fw-normal text-muted text-nowrap">\n            (Tax excluded)\n        </span>\n        <span t-else="" class="fs-6 fw-normal text-muted text-nowrap">\n            (Tax included)\n        </span>\n    </t>\n\n    	f	f	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2440	16	\N	1	1	product_price	\N	website_sale.product_price	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t t-name=\\"website_sale.product_price\\">\\n        <div name=\\"product_price\\" t-attf-class=\\"product_price text-end {{'' if is_view_active('website_sale.cta_wrapper_boxed') else 'mt-2'}} {{'d-none' if combination_info['prevent_zero_price_sale'] else 'd-inline-block'}}\\">\\n            <div name=\\"product_price_container\\" class=\\"css_editable_mode_hidden d-flex align-items-center justify-content-end gap-2 flex-wrap h4 mb-0 text-wrap\\">\\n                <span class=\\"oe_price\\" style=\\"white-space: nowrap;\\" t-out=\\"combination_info['price']\\" t-options=\\"{'widget': 'monetary', 'display_currency': website.currency_id}\\"/>\\n                <span t-attf-class=\\"text-muted oe_default_price ms-1 h5 {{'' if combination_info['has_discounted_price'] else 'd-none'}}\\" style=\\"text-decoration: line-through; white-space: nowrap;\\" t-esc=\\"combination_info['list_price']\\" t-options=\\"{'widget': 'monetary', 'display_currency': website.currency_id}\\" name=\\"product_list_price\\"/>\\n                <t t-if=\\"is_view_active('website_sale.tax_indication')\\" t-call=\\"website_sale.tax_indication\\"/>\\n                <del name=\\"product_price_strikethrough\\" t-if=\\"combination_info.get('compare_list_price') and (combination_info['compare_list_price'] &gt; combination_info['price'])\\" class=\\"text-muted ms-1 h5 oe_compare_list_price\\">\\n                    <bdi dir=\\"inherit\\">\\n                    <span t-esc=\\"combination_info['compare_list_price']\\" t-options=\\"{'widget': 'monetary', 'display_currency': website.currency_id}\\"/>\\n                    </bdi>\\n                </del>\\n            </div>\\n            <div t-if=\\"editable\\" name=\\"product_list_price_container\\" class=\\"css_non_editable_mode_hidden decimal_precision h4\\" t-att-data-precision=\\"str(website.currency_id.decimal_places)\\">\\n                <span t-field=\\"product.list_price\\" t-options=\\"{'widget': 'monetary', 'display_currency': product.currency_id}\\"/>\\n                <t t-if=\\"is_view_active('website_sale.tax_indication')\\" t-call=\\"website_sale.tax_indication\\"/>\\n                <del t-if=\\"combination_info.get('compare_list_price') and (combination_info['compare_list_price'] &gt; combination_info['price'])\\">\\n                    <bdi dir=\\"inherit\\">\\n                    <span t-field=\\"product.compare_list_price\\" t-options=\\"{'widget': 'monetary', 'display_currency': product.currency_id}\\"/>\\n                    </bdi>\\n                </del>\\n            </div>\\n            <small t-if=\\"combination_info.get('tax_disclaimer')\\" class=\\"text-muted\\">\\n                <t t-out=\\"combination_info['tax_disclaimer']\\"/>\\n            </small>\\n        </div>\\n        <div id=\\"product_unavailable\\" t-attf-class=\\"{{'d-flex' if combination_info['prevent_zero_price_sale'] else 'd-none'}}\\">\\n            <br/>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="website_sale.product_price">\n        <div name="product_price" t-attf-class="product_price text-end {{'' if is_view_active('website_sale.cta_wrapper_boxed') else 'mt-2'}} {{'d-none' if combination_info['prevent_zero_price_sale'] else 'd-inline-block'}}">\n            <div name="product_price_container" class="css_editable_mode_hidden d-flex align-items-center justify-content-end gap-2 flex-wrap h4 mb-0 text-wrap">\n                <span class="oe_price" style="white-space: nowrap;" t-out="combination_info['price']" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}"/>\n                <span t-attf-class="text-muted oe_default_price ms-1 h5 {{'' if combination_info['has_discounted_price'] else 'd-none'}}" style="text-decoration: line-through; white-space: nowrap;" t-esc="combination_info['list_price']" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}" name="product_list_price"/>\n                <t t-if="is_view_active('website_sale.tax_indication')" t-call="website_sale.tax_indication"/>\n                <del name="product_price_strikethrough" t-if="combination_info.get('compare_list_price') and (combination_info['compare_list_price'] &gt; combination_info['price'])" class="text-muted ms-1 h5 oe_compare_list_price">\n                    <bdi dir="inherit">\n                    <span t-esc="combination_info['compare_list_price']" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}"/>\n                    </bdi>\n                </del>\n            </div>\n            <div t-if="editable" name="product_list_price_container" class="css_non_editable_mode_hidden decimal_precision h4" t-att-data-precision="str(website.currency_id.decimal_places)">\n                <span t-field="product.list_price" t-options="{'widget': 'monetary', 'display_currency': product.currency_id}"/>\n                <t t-if="is_view_active('website_sale.tax_indication')" t-call="website_sale.tax_indication"/>\n                <del t-if="combination_info.get('compare_list_price') and (combination_info['compare_list_price'] &gt; combination_info['price'])">\n                    <bdi dir="inherit">\n                    <span t-field="product.compare_list_price" t-options="{'widget': 'monetary', 'display_currency': product.currency_id}"/>\n                    </bdi>\n                </del>\n            </div>\n            <small t-if="combination_info.get('tax_disclaimer')" class="text-muted">\n                <t t-out="combination_info['tax_disclaimer']"/>\n            </small>\n        </div>\n        <div id="product_unavailable" t-attf-class="{{'d-flex' if combination_info['prevent_zero_price_sale'] else 'd-none'}}">\n            <br/>\n        </div>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2441	16	\N	1	1	Wizard Checkout	\N	website_sale.wizard_checkout	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Wizard Checkout\\" t-name=\\"website_sale.wizard_checkout\\">\\n        <t t-call=\\"website.step_wizard\\">\\n            <t t-set=\\"wizard_step\\" t-value=\\"website._get_checkout_steps()\\"/>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Wizard Checkout" t-name="website_sale.wizard_checkout">\n        <t t-call="website.step_wizard">\n            <t t-set="wizard_step" t-value="website._get_checkout_steps()"/>\n        </t>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2443	16	\N	1	1	Shopping Cart Line Product Link	\N	website_sale.cart_line_product_link	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Shopping Cart Line Product Link\\" t-name=\\"website_sale.cart_line_product_link\\">\\n        <a t-if=\\"line._is_sellable()\\" t-att-href=\\"line.product_id.website_url\\" name=\\"o_cart_line_product_link\\">\\n            <t t-out=\\"0\\"/>\\n        </a>\\n        <t t-else=\\"\\" t-out=\\"0\\"/>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Shopping Cart Line Product Link" t-name="website_sale.cart_line_product_link">\n        <a t-if="line._is_sellable()" t-att-href="line.product_id.website_url" name="o_cart_line_product_link">\n            <t t-out="0"/>\n        </a>\n        <t t-else="" t-out="0"/>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2444	16	\N	1	1	Shopping Cart Line Description Following Lines	\N	website_sale.cart_line_description_following_lines	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Shopping Cart Line Description Following Lines\\" t-name=\\"website_sale.cart_line_description_following_lines\\">\\n        <t t-set=\\"description_lines\\" t-value=\\"line.get_description_following_lines()\\"/>\\n        <div t-if=\\"description_lines\\" t-attf-class=\\"text-muted small\\">\\n            <t t-foreach=\\"description_lines\\" t-as=\\"name_line\\">\\n                <span t-if=\\"name_line\\" t-attf-class=\\"o_description_line overflow-hidden #{not name_line_last and 'mb-1'}\\" t-out=\\"name_line\\"/>\\n            </t>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Shopping Cart Line Description Following Lines" t-name="website_sale.cart_line_description_following_lines">\n        <t t-set="description_lines" t-value="line.get_description_following_lines()"/>\n        <div t-if="description_lines" t-attf-class="text-muted small">\n            <t t-foreach="description_lines" t-as="name_line">\n                <span t-if="name_line" t-attf-class="o_description_line overflow-hidden #{not name_line_last and 'mb-1'}" t-out="name_line"/>\n            </t>\n        </div>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2445	16	\N	1	1	Shopping Cart Lines	\N	website_sale.cart_lines	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Shopping Cart Lines\\" t-name=\\"website_sale.cart_lines\\">\\n        <div t-if=\\"not website_sale_order or not website_sale_order.website_order_line\\" class=\\"js_cart_lines alert alert-info\\">\\n            Your cart is empty!\\n        </div>\\n        <t t-if=\\"website_sale_order\\">\\n            <div t-if=\\"website_sale_order._get_shop_warning(clear=False)\\" class=\\"alert alert-warning js_cart_lines\\" role=\\"alert\\">\\n                <strong>Warning!</strong> <t t-esc=\\"website_sale_order._get_shop_warning()\\"/>\\n            </div>\\n        </t>\\n        <div id=\\"cart_products\\" t-if=\\"website_sale_order and website_sale_order.website_order_line\\" class=\\"js_cart_lines d-flex flex-column mb32\\">\\n            <t t-foreach=\\"website_sale_order.website_order_line\\" t-as=\\"line\\">\\n                <t t-set=\\"is_combo\\" t-value=\\"line.product_type == 'combo'\\"/>\\n                <div class=\\"o_cart_product d-flex gap-3 pb-4\\" t-attf-data-product-id=\\"#{line.product_id and line.product_id.id}\\">\\n                    <div class=\\"o_cart_product_image\\">\\n                        <!--\\n                            Unsellable lines can have unpublished products, but portal users have no\\n                            access to unpublished product images. To ensure product images are\\n                            always shown for unsellable lines, we use the raw image data as src\\n                            (which doesn't require access, unlike the image URL).\\n                        -->\\n                        <t t-call=\\"website_sale.cart_line_product_link\\">\\n                            <img t-if=\\"not line._is_sellable() and line.product_id.image_128\\" t-att-src=\\"image_data_uri(line.product_id.image_128)\\" class=\\"img border rounded\\" t-att-alt=\\"line.name_short\\"/>\\n                            <div t-else=\\"\\" t-field=\\"line.product_id.image_128\\" t-options=\\"{                                     'widget': 'image',                                     'qweb_img_responsive': False,                                     'class': 'border rounded',                                 }\\"/>\\n                        </t>\\n                    </div>\\n                    <div class=\\"d-flex flex-column flex-grow-1 gap-3 min-w-0\\">\\n                        <div class=\\"d-flex gap-3\\">\\n                            <div class=\\"flex-grow-1 text-wrap w-100\\">\\n                                <div class=\\"d-flex justify-content-between\\">\\n                                    <div class=\\"d-md-flex flex-md-wrap column-gap-md-2 align-items-md-center\\">\\n                                        <t t-call=\\"website_sale.cart_line_product_link\\">\\n                                            <h6 t-out=\\"line._get_line_header()\\" class=\\"mb-0 fw-bold text-wrap small\\"/>\\n                                        </t>\\n                                        <t t-set=\\"combination_name\\" t-value=\\"line._get_combination_name()\\"/>\\n                                        <div t-if=\\"combination_name or line.product_template_id._has_multiple_uoms()\\" class=\\"d-inline-flex flex-wrap column-gap-2 row-gap-1 align-items-center my-1 my-md-0 w-100 w-md-auto\\">\\n                                            <span t-if=\\"combination_name\\" class=\\"h6 text-muted small mb-0\\" t-out=\\"combination_name\\"/>\\n                                            <span t-if=\\"line.product_template_id._has_multiple_uoms()\\" class=\\"badge bg-light\\" t-out=\\"line.product_uom_id.name\\"/>\\n                                        </div>\\n                                    </div>\\n                                    <div t-attf-class=\\"{{'d-block d-md-none' if not is_combo else ''}}\\" t-call=\\"website_sale.cart_lines_price\\"/>\\n                                </div>\\n                                <t t-call=\\"website_sale.cart_line_description_following_lines\\"/>\\n                                <ul t-if=\\"is_combo\\" class=\\"list-group\\">\\n                                    <t t-foreach=\\"line.linked_line_ids\\" t-as=\\"combo_item_line\\">\\n                                        <t t-call=\\"website_sale.cart_combo_item_line\\"/>\\n                                    </t>\\n                                </ul>\\n                                <div name=\\"o_wsale_cart_line_button_container\\" t-attf-class=\\"d-none d-md-flex align-items-center gap-2 mt-2 {{'justify-content-between' if is_combo else ''}}\\">\\n                                    <a href=\\"#\\" class=\\"js_delete_product small\\" aria-label=\\"Remove from cart\\" title=\\"Remove from cart\\">\\n                                        Remove\\n                                    </a>\\n                                    <div t-if=\\"is_combo\\" class=\\"d-none d-md-block ms-auto\\" t-call=\\"website_sale.cart_lines_quantity\\"/>\\n                                </div>\\n                            </div>\\n                            <div t-if=\\"not is_combo\\" class=\\"d-none d-md-block\\">\\n                                <t t-call=\\"website_sale.cart_lines_price\\"/>\\n                                <div class=\\"d-none d-md-block mt-2\\" t-call=\\"website_sale.cart_lines_quantity\\"/>\\n                            </div>\\n                        </div>\\n                        <div name=\\"o_wsale_cart_line_button_container_mobile\\" class=\\"d-flex d-md-none\\">\\n                            <div class=\\"d-flex d-md-none align-items-center me-auto\\" t-call=\\"website_sale.cart_lines_quantity\\">\\n                                <t t-set=\\"is_mobile\\" t-value=\\"True\\"/>\\n                            </div>\\n                            <button class=\\"js_delete_product btn btn-link d-inline-block d-md-none px-2\\" title=\\"remove\\">\\n                                <i class=\\"fa fa-fw fa-trash-o\\"/>\\n                            </button>\\n                        </div>\\n                    </div>\\n                </div>\\n            </t>\\n        </div>\\n    </t>", "fr_FR": "<t name=\\"Shopping Cart Lines\\" t-name=\\"website_sale.cart_lines\\">\\n        <div t-if=\\"not website_sale_order or not website_sale_order.website_order_line\\" class=\\"js_cart_lines alert alert-info\\">\\n            Votre panier est vide !\\n        </div>\\n        <t t-if=\\"website_sale_order\\">\\n            <div t-if=\\"website_sale_order._get_shop_warning(clear=False)\\" class=\\"alert alert-warning js_cart_lines\\" role=\\"alert\\">\\n                <strong>Attention !</strong> <t t-esc=\\"website_sale_order._get_shop_warning()\\"/>\\n            </div>\\n        </t>\\n        <div id=\\"cart_products\\" t-if=\\"website_sale_order and website_sale_order.website_order_line\\" class=\\"js_cart_lines d-flex flex-column mb32\\">\\n            <t t-foreach=\\"website_sale_order.website_order_line\\" t-as=\\"line\\">\\n                <t t-set=\\"is_combo\\" t-value=\\"line.product_type == 'combo'\\"/>\\n                <div class=\\"o_cart_product d-flex gap-3 pb-4\\" t-attf-data-product-id=\\"#{line.product_id and line.product_id.id}\\">\\n                    <div class=\\"o_cart_product_image\\">\\n                        <!--\\n                            Unsellable lines can have unpublished products, but portal users have no\\n                            access to unpublished product images. To ensure product images are\\n                            always shown for unsellable lines, we use the raw image data as src\\n                            (which doesn't require access, unlike the image URL).\\n                        -->\\n                        <t t-call=\\"website_sale.cart_line_product_link\\">\\n                            <img t-if=\\"not line._is_sellable() and line.product_id.image_128\\" t-att-src=\\"image_data_uri(line.product_id.image_128)\\" class=\\"img border rounded\\" t-att-alt=\\"line.name_short\\"/>\\n                            <div t-else=\\"\\" t-field=\\"line.product_id.image_128\\" t-options=\\"{                                     'widget': 'image',                                     'qweb_img_responsive': False,                                     'class': 'border rounded',                                 }\\"/>\\n                        </t>\\n                    </div>\\n                    <div class=\\"d-flex flex-column flex-grow-1 gap-3 min-w-0\\">\\n                        <div class=\\"d-flex gap-3\\">\\n                            <div class=\\"flex-grow-1 text-wrap w-100\\">\\n                                <div class=\\"d-flex justify-content-between\\">\\n                                    <div class=\\"d-md-flex flex-md-wrap column-gap-md-2 align-items-md-center\\">\\n                                        <t t-call=\\"website_sale.cart_line_product_link\\">\\n                                            <h6 t-out=\\"line._get_line_header()\\" class=\\"mb-0 fw-bold text-wrap small\\"/>\\n                                        </t>\\n                                        <t t-set=\\"combination_name\\" t-value=\\"line._get_combination_name()\\"/>\\n                                        <div t-if=\\"combination_name or line.product_template_id._has_multiple_uoms()\\" class=\\"d-inline-flex flex-wrap column-gap-2 row-gap-1 align-items-center my-1 my-md-0 w-100 w-md-auto\\">\\n                                            <span t-if=\\"combination_name\\" class=\\"h6 text-muted small mb-0\\" t-out=\\"combination_name\\"/>\\n                                            <span t-if=\\"line.product_template_id._has_multiple_uoms()\\" class=\\"badge bg-light\\" t-out=\\"line.product_uom_id.name\\"/>\\n                                        </div>\\n                                    </div>\\n                                    <div t-attf-class=\\"{{'d-block d-md-none' if not is_combo else ''}}\\" t-call=\\"website_sale.cart_lines_price\\"/>\\n                                </div>\\n                                <t t-call=\\"website_sale.cart_line_description_following_lines\\"/>\\n                                <ul t-if=\\"is_combo\\" class=\\"list-group\\">\\n                                    <t t-foreach=\\"line.linked_line_ids\\" t-as=\\"combo_item_line\\">\\n                                        <t t-call=\\"website_sale.cart_combo_item_line\\"/>\\n                                    </t>\\n                                </ul>\\n                                <div name=\\"o_wsale_cart_line_button_container\\" t-attf-class=\\"d-none d-md-flex align-items-center gap-2 mt-2 {{'justify-content-between' if is_combo else ''}}\\">\\n                                    <a href=\\"#\\" class=\\"js_delete_product small\\" aria-label=\\"Supprimer du panier\\" title=\\"Supprimer du panier\\">\\n                                        Supprimer\\n                                    </a>\\n                                    <div t-if=\\"is_combo\\" class=\\"d-none d-md-block ms-auto\\" t-call=\\"website_sale.cart_lines_quantity\\"/>\\n                                </div>\\n                            </div>\\n                            <div t-if=\\"not is_combo\\" class=\\"d-none d-md-block\\">\\n                                <t t-call=\\"website_sale.cart_lines_price\\"/>\\n                                <div class=\\"d-none d-md-block mt-2\\" t-call=\\"website_sale.cart_lines_quantity\\"/>\\n                            </div>\\n                        </div>\\n                        <div name=\\"o_wsale_cart_line_button_container_mobile\\" class=\\"d-flex d-md-none\\">\\n                            <div class=\\"d-flex d-md-none align-items-center me-auto\\" t-call=\\"website_sale.cart_lines_quantity\\">\\n                                <t t-set=\\"is_mobile\\" t-value=\\"True\\"/>\\n                            </div>\\n                            <button class=\\"js_delete_product btn btn-link d-inline-block d-md-none px-2\\" title=\\"supprimer\\">\\n                                <i class=\\"fa fa-fw fa-trash-o\\"/>\\n                            </button>\\n                        </div>\\n                    </div>\\n                </div>\\n            </t>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Shopping Cart Lines" t-name="website_sale.cart_lines">\n        <div t-if="not website_sale_order or not website_sale_order.website_order_line" class="js_cart_lines alert alert-info">\n            Your cart is empty!\n        </div>\n        <t t-if="website_sale_order">\n            <div t-if="website_sale_order._get_shop_warning(clear=False)" class="alert alert-warning js_cart_lines" role="alert">\n                <strong>Warning!</strong> <t t-esc="website_sale_order._get_shop_warning()"/>\n            </div>\n        </t>\n        <div id="cart_products" t-if="website_sale_order and website_sale_order.website_order_line" class="js_cart_lines d-flex flex-column mb32">\n            <t t-foreach="website_sale_order.website_order_line" t-as="line">\n                <t t-set="is_combo" t-value="line.product_type == 'combo'"/>\n                <div class="o_cart_product d-flex gap-3 pb-4" t-attf-data-product-id="#{line.product_id and line.product_id.id}">\n                    <div class="o_cart_product_image">\n                        <!--\n                            Unsellable lines can have unpublished products, but portal users have no\n                            access to unpublished product images. To ensure product images are\n                            always shown for unsellable lines, we use the raw image data as src\n                            (which doesn't require access, unlike the image URL).\n                        -->\n                        <t t-call="website_sale.cart_line_product_link">\n                            <img t-if="not line._is_sellable() and line.product_id.image_128" t-att-src="image_data_uri(line.product_id.image_128)" class="img border rounded" t-att-alt="line.name_short"/>\n                            <div t-else="" t-field="line.product_id.image_128" t-options="{                                     'widget': 'image',                                     'qweb_img_responsive': False,                                     'class': 'border rounded',                                 }"/>\n                        </t>\n                    </div>\n                    <div class="d-flex flex-column flex-grow-1 gap-3 min-w-0">\n                        <div class="d-flex gap-3">\n                            <div class="flex-grow-1 text-wrap w-100">\n                                <div class="d-flex justify-content-between">\n                                    <div class="d-md-flex flex-md-wrap column-gap-md-2 align-items-md-center">\n                                        <t t-call="website_sale.cart_line_product_link">\n                                            <h6 t-out="line._get_line_header()" class="mb-0 fw-bold text-wrap small"/>\n                                        </t>\n                                        <t t-set="combination_name" t-value="line._get_combination_name()"/>\n                                        <div t-if="combination_name or line.product_template_id._has_multiple_uoms()" class="d-inline-flex flex-wrap column-gap-2 row-gap-1 align-items-center my-1 my-md-0 w-100 w-md-auto">\n                                            <span t-if="combination_name" class="h6 text-muted small mb-0" t-out="combination_name"/>\n                                            <span t-if="line.product_template_id._has_multiple_uoms()" class="badge bg-light" t-out="line.product_uom_id.name"/>\n                                        </div>\n                                    </div>\n                                    <div t-attf-class="{{'d-block d-md-none' if not is_combo else ''}}" t-call="website_sale.cart_lines_price"/>\n                                </div>\n                                <t t-call="website_sale.cart_line_description_following_lines"/>\n                                <ul t-if="is_combo" class="list-group">\n                                    <t t-foreach="line.linked_line_ids" t-as="combo_item_line">\n                                        <t t-call="website_sale.cart_combo_item_line"/>\n                                    </t>\n                                </ul>\n                                <div name="o_wsale_cart_line_button_container" t-attf-class="d-none d-md-flex align-items-center gap-2 mt-2 {{'justify-content-between' if is_combo else ''}}">\n                                    <a href="#" class="js_delete_product small" aria-label="Remove from cart" title="Remove from cart">\n                                        Remove\n                                    </a>\n                                    <div t-if="is_combo" class="d-none d-md-block ms-auto" t-call="website_sale.cart_lines_quantity"/>\n                                </div>\n                            </div>\n                            <div t-if="not is_combo" class="d-none d-md-block">\n                                <t t-call="website_sale.cart_lines_price"/>\n                                <div class="d-none d-md-block mt-2" t-call="website_sale.cart_lines_quantity"/>\n                            </div>\n                        </div>\n                        <div name="o_wsale_cart_line_button_container_mobile" class="d-flex d-md-none">\n                            <div class="d-flex d-md-none align-items-center me-auto" t-call="website_sale.cart_lines_quantity">\n                                <t t-set="is_mobile" t-value="True"/>\n                            </div>\n                            <button class="js_delete_product btn btn-link d-inline-block d-md-none px-2" title="remove">\n                                <i class="fa fa-fw fa-trash-o"/>\n                            </button>\n                        </div>\n                    </div>\n                </div>\n            </t>\n        </div>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2447	16	\N	1	1	Shopping Cart Line Price	\N	website_sale.cart_lines_price	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t name=\\"Shopping Cart Line Price\\" t-name=\\"website_sale.cart_lines_price\\">\\n        <h6 class=\\"d-flex flex-column flex-md-row align-items-end align-items-md-start justify-content-md-end mb-0 small fw-bold\\" name=\\"website_sale_cart_line_price\\">\\n            <t t-if=\\"line.discount and line._is_sellable() and line._get_displayed_unit_price()\\">\\n                <del class=\\"me-md-2 text-muted text-nowrap opacity-50\\" t-out=\\"line._get_displayed_unit_price() * line.product_uom_qty\\" t-options=\\"{'widget': 'monetary', 'display_currency': website.currency_id}\\"/>\\n            </t>\\n            <t t-set=\\"product_price\\" t-value=\\"line._get_cart_display_price()\\"/>\\n            <t t-call=\\"website_sale.cart_product_price\\"/>\\n        </h6>\\n        <small t-if=\\"line._is_sellable() and line.env['res.groups']._is_feature_enabled('website_sale.group_show_uom_price') and line.product_id.base_unit_price\\" class=\\"cart_product_base_unit_price d-block text-muted text-end\\" groups=\\"website_sale.group_show_uom_price\\">\\n            <t t-call=\\"website_sale.base_unit_price\\">\\n                <t t-set=\\"product\\" t-value=\\"line.product_id\\"/>\\n                <t t-set=\\"base_unit_price\\" t-value=\\"product._get_base_unit_price(product_price/line.product_uom_qty)\\"/>\\n            </t>\\n        </small>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Shopping Cart Line Price" t-name="website_sale.cart_lines_price">\n        <h6 class="d-flex flex-column flex-md-row align-items-end align-items-md-start justify-content-md-end mb-0 small fw-bold" name="website_sale_cart_line_price">\n            <t t-if="line.discount and line._is_sellable() and line._get_displayed_unit_price()">\n                <del class="me-md-2 text-muted text-nowrap opacity-50" t-out="line._get_displayed_unit_price() * line.product_uom_qty" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}"/>\n            </t>\n            <t t-set="product_price" t-value="line._get_cart_display_price()"/>\n            <t t-call="website_sale.cart_product_price"/>\n        </h6>\n        <small t-if="line._is_sellable() and line.env['res.groups']._is_feature_enabled('website_sale.group_show_uom_price') and line.product_id.base_unit_price" class="cart_product_base_unit_price d-block text-muted text-end" groups="website_sale.group_show_uom_price">\n            <t t-call="website_sale.base_unit_price">\n                <t t-set="product" t-value="line.product_id"/>\n                <t t-set="base_unit_price" t-value="product._get_base_unit_price(product_price/line.product_uom_qty)"/>\n            </t>\n        </small>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2575	16	557	2	2	Links	\N	website.template_footer_links	qweb	website/views/website_templates.xml	extension	{"en_US": "<data inherit_id=\\"website.layout\\" name=\\"Links\\" active=\\"False\\">\\n    <xpath expr=\\"//div[@id='footer']\\" position=\\"replace\\">\\n        <div id=\\"footer\\" class=\\"oe_structure oe_structure_solo\\" t-ignore=\\"true\\" t-if=\\"not no_footer\\">\\n            <section class=\\"s_text_block pt48 pb16\\" data-snippet=\\"s_text_block\\" data-name=\\"Text\\">\\n                <div class=\\"container\\">\\n                    <div class=\\"row\\">\\n                        <div class=\\"col-lg-2 pb16\\">\\n                            <h5>Explorer</h5>\\n                            <ul class=\\"list-unstyled\\">\\n                                <li class=\\"list-item py-1\\"><a href=\\"/\\">Accueil</a></li>\\n                                <li class=\\"list-item py-1\\"><a href=\\"#\\">Notre Société</a></li>\\n                                <li class=\\"list-item py-1\\"><a href=\\"#\\">Études de cas</a></li>\\n                                <li class=\\"list-item py-1\\"><a href=\\"#\\">Blog</a></li>\\n                                <t t-set=\\"configurator_footer_links\\" t-value=\\"[{&quot;text&quot;: &quot;Politique vie priv\\\\u00e9e&quot;, &quot;href&quot;: &quot;/privacy&quot;}]\\"/>\\n                                <li t-foreach=\\"configurator_footer_links\\" t-as=\\"link\\" class=\\"list-item py-1\\">\\n                                    <a t-att-href=\\"link['href']\\" t-esc=\\"link['text']\\"/>\\n                                </li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-2 pb16\\">\\n                            <h5>Services</h5>\\n                            <ul class=\\"list-unstyled\\">\\n                                <li class=\\"py-1\\"><a href=\\"#\\">Documentation</a></li>\\n                                <li class=\\"py-1\\"><a href=\\"#\\">Marketplace</a></li>\\n                                <li class=\\"py-1\\"><a href=\\"#\\">Conception</a></li>\\n                                <li class=\\"py-1\\"><a href=\\"#\\">Ressources</a></li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-2 pb16\\">\\n                            <h5>Suivez-nous</h5>\\n                            <ul class=\\"list-unstyled\\">\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-facebook-square me-2\\"/><a href=\\"/website/social/facebook\\" target=\\"_blank\\">Facebook</a></li>\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-twitter-square me-2\\"/><a href=\\"/website/social/twitter\\" target=\\"_blank\\">X</a></li>\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-linkedin-square me-2\\"/><a href=\\"/website/social/linkedin\\" target=\\"_blank\\">Linkedin</a></li>\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-instagram me-2\\"/><a href=\\"/website/social/instagram\\" target=\\"_blank\\">Instagram</a></li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-3 pb16\\">\\n                            <h5>Entrer en contact</h5>\\n                            <ul class=\\"list-unstyled\\">\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-envelope me-2\\"/><a href=\\"mailto:info@yourcompany.com\\">info@yourcompany.com</a></li>\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-phone me-2\\"/><span class=\\"o_force_ltr\\"><a href=\\"tel:+1 555-555-5556\\">+1 555-555-5556\\"</a></span></li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-3 pb16\\">\\n                            <h5>MyCompany</h5>\\n                            <p class=\\"text-muted\\">250 Executive Park Blvd, Suite 3400 <br/> San Francisco CA 94134 <br/>États-Unis</p>\\n                        </div>\\n                    </div>\\n                </div>\\n            </section>\\n        </div>\\n    </xpath>\\n</data>", "fr_FR": "<data inherit_id=\\"website.layout\\" name=\\"Links\\" active=\\"False\\">\\n    <xpath expr=\\"//div[@id='footer']\\" position=\\"replace\\">\\n        <div id=\\"footer\\" class=\\"oe_structure oe_structure_solo\\" t-ignore=\\"true\\" t-if=\\"not no_footer\\">\\n            <section class=\\"s_text_block pt48 pb16\\" data-snippet=\\"s_text_block\\" data-name=\\"Text\\">\\n                <div class=\\"container\\">\\n                    <div class=\\"row\\">\\n                        <div class=\\"col-lg-2 pb16\\">\\n                            <h5>Explorer</h5>\\n                            <ul class=\\"list-unstyled\\">\\n                                <li class=\\"list-item py-1\\"><a href=\\"/\\">Accueil</a></li>\\n                                <li class=\\"list-item py-1\\"><a href=\\"#\\">Notre Société</a></li>\\n                                <li class=\\"list-item py-1\\"><a href=\\"#\\">Études de cas</a></li>\\n                                <li class=\\"list-item py-1\\"><a href=\\"#\\">Blog</a></li>\\n                                <t t-set=\\"configurator_footer_links\\" t-value=\\"[{&quot;text&quot;: &quot;Politique vie priv\\\\u00e9e&quot;, &quot;href&quot;: &quot;/privacy&quot;}]\\"/>\\n                                <li t-foreach=\\"configurator_footer_links\\" t-as=\\"link\\" class=\\"list-item py-1\\">\\n                                    <a t-att-href=\\"link['href']\\" t-esc=\\"link['text']\\"/>\\n                                </li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-2 pb16\\">\\n                            <h5>Services</h5>\\n                            <ul class=\\"list-unstyled\\">\\n                                <li class=\\"py-1\\"><a href=\\"#\\">Documentation</a></li>\\n                                <li class=\\"py-1\\"><a href=\\"#\\">Marketplace</a></li>\\n                                <li class=\\"py-1\\"><a href=\\"#\\">Conception</a></li>\\n                                <li class=\\"py-1\\"><a href=\\"#\\">Ressources</a></li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-2 pb16\\">\\n                            <h5>Suivez-nous</h5>\\n                            <ul class=\\"list-unstyled\\">\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-facebook-square me-2\\"/><a href=\\"/website/social/facebook\\" target=\\"_blank\\">Facebook</a></li>\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-twitter-square me-2\\"/><a href=\\"/website/social/twitter\\" target=\\"_blank\\">X</a></li>\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-linkedin-square me-2\\"/><a href=\\"/website/social/linkedin\\" target=\\"_blank\\">Linkedin</a></li>\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-instagram me-2\\"/><a href=\\"/website/social/instagram\\" target=\\"_blank\\">Instagram</a></li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-3 pb16\\">\\n                            <h5>Entrer en contact</h5>\\n                            <ul class=\\"list-unstyled\\">\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-envelope me-2\\"/><a href=\\"mailto:info@yourcompany.com\\">info@yourcompany.com</a></li>\\n                                <li class=\\"py-1\\"><i class=\\"fa fa-1x fa-fw fa-phone me-2\\"/><span class=\\"o_force_ltr\\"><a href=\\"tel:+1 555-555-5556\\">+1 555-555-5556\\"</a></span></li>\\n                            </ul>\\n                        </div>\\n                        <div class=\\"col-lg-3 pb16\\">\\n                            <h5>MyCompany</h5>\\n                            <p class=\\"text-muted\\">250 Executive Park Blvd, Suite 3400 <br/> San Francisco CA 94134 <br/>États-Unis</p>\\n                        </div>\\n                    </div>\\n                </div>\\n            </section>\\n        </div>\\n    </xpath>\\n</data>"}	<data inherit_id="website.layout" name="Links" active="False">\n    <xpath expr="//div[@id='footer']" position="replace">\n        <div id="footer" class="oe_structure oe_structure_solo" t-ignore="true" t-if="not no_footer">\n            <section class="s_text_block pt48 pb16" data-snippet="s_text_block" data-name="Text">\n                <div class="container">\n                    <div class="row">\n                        <div class="col-lg-2 pb16">\n                            <h5>Explorer</h5>\n                            <ul class="list-unstyled">\n                                <li class="list-item py-1"><a href="/">Accueil</a></li>\n                                <li class="list-item py-1"><a href="#">Notre Société</a></li>\n                                <li class="list-item py-1"><a href="#">Études de cas</a></li>\n                                <li class="list-item py-1"><a href="#">Blog</a></li>\n                                <t t-set="configurator_footer_links" t-value="[]"/>\n                                <li t-foreach="configurator_footer_links" t-as="link" class="list-item py-1">\n                                    <a t-att-href="link['href']" t-esc="link['text']"/>\n                                </li>\n                            </ul>\n                        </div>\n                        <div class="col-lg-2 pb16">\n                            <h5>Services</h5>\n                            <ul class="list-unstyled">\n                                <li class="py-1"><a href="#">Documentation</a></li>\n                                <li class="py-1"><a href="#">Marketplace</a></li>\n                                <li class="py-1"><a href="#">Conception</a></li>\n                                <li class="py-1"><a href="#">Ressources</a></li>\n                            </ul>\n                        </div>\n                        <div class="col-lg-2 pb16">\n                            <h5>Suivez-nous</h5>\n                            <ul class="list-unstyled">\n                                <li class="py-1"><i class="fa fa-1x fa-fw fa-facebook-square me-2"/><a href="/website/social/facebook" target="_blank">Facebook</a></li>\n                                <li class="py-1"><i class="fa fa-1x fa-fw fa-twitter-square me-2"/><a href="/website/social/twitter" target="_blank">X</a></li>\n                                <li class="py-1"><i class="fa fa-1x fa-fw fa-linkedin-square me-2"/><a href="/website/social/linkedin" target="_blank">Linkedin</a></li>\n                                <li class="py-1"><i class="fa fa-1x fa-fw fa-instagram me-2"/><a href="/website/social/instagram" target="_blank">Instagram</a></li>\n                            </ul>\n                        </div>\n                        <div class="col-lg-3 pb16">\n                            <h5>Entrer en contact</h5>\n                            <ul class="list-unstyled">\n                                <li class="py-1"><i class="fa fa-1x fa-fw fa-envelope me-2"/><a href="mailto:info@yourcompany.com">info@yourcompany.com</a></li>\n                                <li class="py-1"><i class="fa fa-1x fa-fw fa-phone me-2"/><span class="o_force_ltr"><a href="tel:+1 555-555-5556">+1 555-555-5556"</a></span></li>\n                            </ul>\n                        </div>\n                        <div class="col-lg-3 pb16">\n                            <h5>MyCompany</h5>\n                            <p class="text-muted">250 Executive Park Blvd, Suite 3400 <br/> San Francisco CA 94134 <br/>États-Unis</p>\n                        </div>\n                    </div>\n                </div>\n            </section>\n        </div>\n    </xpath>\n</data>	f	f	2025-07-20 21:22:23.081511	2025-07-20 21:22:23.081511	f	1	\N	\N	\N	\N	\N	\N	\N	\N	f	f
1451	16	\N	2	2	Services	\N	website.services	qweb	\N	primary	{"en_US": "<t name=\\"Services\\" t-name=\\"website.services\\">\\n        <t t-call=\\"website.layout\\">\\n            <div id=\\"wrap\\">\\n                <div class=\\"oe_structure\\">\\n                    <section class=\\"s_title parallax s_parallax_is_fixed bg-black-50 pt24 pb24\\" data-vcss=\\"001\\" data-snippet=\\"s_title\\" data-scroll-background-ratio=\\"1\\">\\n                        <span class=\\"s_parallax_bg oe_img_bg\\" style=\\"background-image: url('/web/image/website.s_parallax_default_image'); background-position: 50% 0;\\"/>\\n                        <div class=\\"o_we_bg_filter bg-black-50\\"/>\\n                        <div class=\\"container\\">\\n                            <h1>Services</h1>\\n                        </div>\\n                    </section>\\n                </div>\\n                <div class=\\"oe_structure\\"><section class=\\"s_three_columns o_cc pt32 pb32 o_colored_level o_cc3\\" data-vxml=\\"001\\" data-vcss=\\"001\\" data-snippet=\\"s_three_columns\\">\\n        <div class=\\"container\\">\\n            <div class=\\"row d-flex align-items-stretch\\">\\n                <div data-name=\\"Card\\" class=\\"col-lg-4 pt16 pb16\\">\\n                    <div class=\\"s_card o_card_img_top card h-100 o_cc o_cc1 my-0\\" data-vxml=\\"001\\" data-snippet=\\"s_card\\" data-name=\\"Card\\">\\n                        <figure class=\\"o_card_img_wrapper ratio mb-0 ratio-1x1\\">\\n                            <img class=\\"o_card_img card-img-top\\" src=\\"/web/image/website.s_three_columns_default_image_1\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                        </figure>\\n                        <div class=\\"card-body\\">\\n                            <h5 class=\\"card-title\\">\\n        Gaming\\n    </h5>\\n                            <p class=\\"card-text\\">\\n        La fibre optique transforme la connectivité en offrant des vitesses de transmission de données inégalées. Profitez d'une expérience Internet fluide et rapide.\\n    </p>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div data-name=\\"Card\\" class=\\"col-lg-4 pt16 pb16\\">\\n                    <div class=\\"s_card o_card_img_top card h-100 o_cc o_cc1 my-0\\" data-vxml=\\"001\\" data-snippet=\\"s_card\\" data-name=\\"Card\\">\\n                        <figure class=\\"o_card_img_wrapper ratio mb-0 ratio-1x1\\">\\n                            <img class=\\"o_card_img card-img-top\\" src=\\"/web/image/website.s_three_columns_default_image_2\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                        </figure>\\n                        <div class=\\"card-body\\">\\n                            <h5 class=\\"card-title\\">\\n        Innovation\\n    </h5>\\n                            <p class=\\"card-text\\">\\n        De la conception à l'installation, optimisez vos infrastructures avec une collaboration efficace et des produits de qualité.\\n    </p>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div data-name=\\"Card\\" class=\\"col-lg-4 pt16 pb16\\">\\n                    <div class=\\"s_card o_card_img_top card h-100 o_cc o_cc1 my-0\\" data-vxml=\\"001\\" data-snippet=\\"s_card\\" data-name=\\"Card\\">\\n                        <figure class=\\"o_card_img_wrapper ratio mb-0 ratio-1x1\\">\\n                            <img class=\\"o_card_img card-img-top\\" src=\\"/web/image/website.s_three_columns_default_image_3\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                        </figure>\\n                        <div class=\\"card-body\\">\\n                            <h5 class=\\"card-title\\">\\n        Formation\\n    </h5>\\n                            <p class=\\"card-text\\">\\n        Des solutions de connectivité avancées aux services d'installation, en passant par l'expertise technique en fibre optique.\\n    </p>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n    </section><section class=\\"s_quotes_carousel_wrapper\\" data-vxml=\\"001\\" data-vcss=\\"002\\" data-preview-interaction-enabled=\\"true\\" data-snippet=\\"s_quotes_carousel\\">\\n        <div class=\\"s_quotes_carousel s_carousel_boxed carousel slide o_cc o_cc2\\" data-bs-ride=\\"true\\" data-bs-interval=\\"10000\\" id=\\"myQuoteCarousel746113\\">\\n            \\n            <div class=\\"carousel-inner\\">\\n                \\n                <div class=\\"carousel-item active oe_img_bg o_bg_img_center pt80 pb80\\" style=\\"background-image: url('/web/image/website.s_quotes_carousel_demo_image_0'); background-position: 50% 50%;\\" data-name=\\"Slide\\">\\n                    <blockquote data-name=\\"Blockquote\\" data-snippet=\\"s_blockquote\\" class=\\"s_blockquote s_blockquote_with_icon o_cc o_cc1 o_animable position-relative d-flex flex-column gap-4 w-50 mx-auto p-5 fst-normal\\" data-vcss=\\"001\\">\\n                        <div class=\\"s_blockquote_line_elt position-absolute top-0 start-0 bottom-0 bg-o-color-1\\"/>\\n                        <div class=\\"s_blockquote_wrap_icon position-absolute top-0 start-50 translate-middle w-100\\">\\n                            <i class=\\"s_blockquote_icon fa fa-quote-right d-block mx-auto rounded bg-o-color-1\\" role=\\"img\\"/>\\n                        </div>\\n                        <p class=\\"s_blockquote_quote my-auto h4-fs\\" style=\\"text-align:center;\\">\\" Grâce à www.socof.sa.com, notre réseau est plus rapide et fiable que jamais. Une équipe professionnelle et réactive !\\" - Client satisfait \\"</p>\\n                        <div class=\\"s_blockquote_infos d-flex gap-2 flex-column align-items-center w-100 text-center\\">\\n                            <img src=\\"/web/image/website.s_quotes_carousel_demo_image_3\\" class=\\"s_blockquote_avatar img rounded-circle\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                            <div class=\\"s_blockquote_author\\">\\n                                <span class=\\"o_small\\"><strong>Marie DUPONT</strong><br/> <span class=\\"text-muted\\">Directrice Générale de www.socof.sa.com</span></span>\\n                            </div>\\n                        </div>\\n                    </blockquote>\\n                </div>\\n                \\n                <div class=\\"carousel-item oe_img_bg o_bg_img_center pt80 pb80\\" style=\\"background-image: url('/web/image/website.s_quotes_carousel_demo_image_1'); background-position: 50% 50%;\\" data-name=\\"Slide\\">\\n                    <blockquote data-name=\\"Blockquote\\" data-snippet=\\"s_blockquote\\" class=\\"s_blockquote s_blockquote_with_icon o_cc o_cc1 o_animable position-relative d-flex flex-column gap-4 w-50 mx-auto p-5 fst-normal\\" data-vcss=\\"001\\">\\n                        <div class=\\"s_blockquote_line_elt position-absolute top-0 start-0 bottom-0 bg-o-color-1\\"/>\\n                        <div class=\\"s_blockquote_wrap_icon position-absolute top-0 start-50 translate-middle w-100\\">\\n                            <i class=\\"s_blockquote_icon fa fa-quote-right d-block mx-auto rounded bg-o-color-1\\" role=\\"img\\"/>\\n                        </div>\\n                        <p class=\\"s_blockquote_quote my-auto h4-fs\\" style=\\"text-align:center;\\">\\" Grâce à www.socof.sa.com, notre réseau est plus rapide et fiable que jamais. Une équipe professionnelle et réactive !\\" - Client satisfait \\"</p>\\n                        <div class=\\"s_blockquote_infos d-flex gap-2 flex-column align-items-center w-100 text-center\\">\\n                            <img src=\\"/web/image/website.s_quotes_carousel_demo_image_4\\" class=\\"s_blockquote_avatar img rounded-circle\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                            <div class=\\"s_blockquote_author\\">\\n                                <span class=\\"o_small\\"><strong>Pierre MARTIN</strong><br/> <span class=\\"text-muted\\">Responsable Technique de www.socof.sa.com</span></span>\\n                            </div>\\n                        </div>\\n                    </blockquote>\\n                </div>\\n                \\n                <div class=\\"carousel-item oe_img_bg o_bg_img_center pt80 pb80\\" style=\\"background-image: url('/web/image/website.s_quotes_carousel_demo_image_2'); background-position: 50% 50%;\\" data-name=\\"Slide\\">\\n                    <blockquote data-name=\\"Blockquote\\" data-snippet=\\"s_blockquote\\" class=\\"s_blockquote s_blockquote_with_icon o_cc o_cc1 o_animable position-relative d-flex flex-column gap-4 w-50 mx-auto p-5 fst-normal\\" data-vcss=\\"001\\">\\n                        <div class=\\"s_blockquote_line_elt position-absolute top-0 start-0 bottom-0 bg-o-color-1\\"/>\\n                        <div class=\\"s_blockquote_wrap_icon position-absolute top-0 start-50 translate-middle w-100\\">\\n                            <i class=\\"s_blockquote_icon fa fa-quote-right d-block mx-auto rounded bg-o-color-1\\" role=\\"img\\"/>\\n                        </div>\\n                        <p class=\\"s_blockquote_quote my-auto h4-fs\\" style=\\"text-align:center;\\">\\" Grâce à www.socof.sa.com, notre réseau est plus rapide et fiable que jamais. Une équipe professionnelle et réactive !\\" - Client satisfait \\"</p>\\n                        <div class=\\"s_blockquote_infos d-flex gap-2 flex-column align-items-center w-100 text-center\\">\\n                            <img src=\\"/web/image/website.s_quotes_carousel_demo_image_5\\" class=\\"s_blockquote_avatar img rounded-circle\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                            <div class=\\"s_blockquote_author\\">\\n                                <span class=\\"o_small\\"><strong>Jean DUPONT</strong><br/> <span class=\\"text-muted\\">Responsable de MyCompany</span></span>\\n                            </div>\\n                        </div>\\n                    </blockquote>\\n                </div>\\n            </div>\\n            \\n            <button class=\\"carousel-control-prev o_not_editable\\" contenteditable=\\"false\\" data-bs-slide=\\"prev\\" aria-label=\\"Précédent\\" title=\\"Précédent\\" data-bs-target=\\"#myQuoteCarousel746113\\">\\n                <span class=\\"carousel-control-prev-icon\\" aria-hidden=\\"true\\"/> <span class=\\"visually-hidden\\">Précédent</span>\\n            </button>\\n            <button class=\\"carousel-control-next o_not_editable\\" data-bs-slide=\\"next\\" aria-label=\\"Suivant\\" title=\\"Suivant\\" data-bs-target=\\"#myQuoteCarousel746113\\">\\n                <span class=\\"carousel-control-next-icon\\" aria-hidden=\\"true\\"/> <span class=\\"visually-hidden\\">Suivant</span>\\n            </button>\\n            \\n            <div class=\\"carousel-indicators s_carousel_indicators_dots o_not_editable\\">\\n                <button type=\\"button\\" data-bs-slide-to=\\"0\\" class=\\"active\\" aria-label=\\"Indicateur de produits\\" data-bs-target=\\"#myQuoteCarousel746113\\"/>\\n                <button type=\\"button\\" data-bs-slide-to=\\"1\\" aria-label=\\"Indicateur de produits\\" data-bs-target=\\"#myQuoteCarousel746113\\"/>\\n                <button type=\\"button\\" data-bs-slide-to=\\"2\\" aria-label=\\"Indicateur de produits\\" data-bs-target=\\"#myQuoteCarousel746113\\"/>\\n            </div>\\n        </div>\\n    </section><section class=\\"s_references o_cc pt80 o_cc4 pb64\\" data-snippet=\\"s_references\\">\\n        <div class=\\"container\\">\\n            <h2 style=\\"text-align: center;\\">Partenaires et références</h2>\\n            <p class=\\"lead\\" style=\\"text-align: center;\\">Utilisez cette section pour renforcer la crédibilité de votre entreprise.</p>\\n            <p style=\\"text-align: center;\\">\\n                <a class=\\"o_translate_inline\\" href=\\"#\\">Voir nos projets <i class=\\"fa fa-long-arrow-right ms-2\\"/></a>\\n            </p>\\n            <p><br/></p>\\n            <div class=\\"row\\">\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_demo_image_1\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_demo_image_2\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_demo_image_3\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_demo_image_4\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_demo_image_5\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_default_image_6\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n            </div>\\n        </div>\\n    </section></div>\\n            </div>\\n        </t>\\n    </t>", "fr_FR": "<t name=\\"Services\\" t-name=\\"website.services\\">\\n        <t t-call=\\"website.layout\\">\\n            <div id=\\"wrap\\">\\n                <div class=\\"oe_structure\\">\\n                    <section class=\\"s_title parallax s_parallax_is_fixed bg-black-50 pt24 pb24\\" data-vcss=\\"001\\" data-snippet=\\"s_title\\" data-scroll-background-ratio=\\"1\\">\\n                        <span class=\\"s_parallax_bg oe_img_bg\\" style=\\"background-image: url('/web/image/website.s_parallax_default_image'); background-position: 50% 0;\\"/>\\n                        <div class=\\"o_we_bg_filter bg-black-50\\"/>\\n                        <div class=\\"container\\">\\n                            <h1>Services</h1>\\n                        </div>\\n                    </section>\\n                </div>\\n                <div class=\\"oe_structure\\"><section class=\\"s_three_columns o_cc pt32 pb32 o_colored_level o_cc3\\" data-vxml=\\"001\\" data-vcss=\\"001\\" data-snippet=\\"s_three_columns\\">\\n        <div class=\\"container\\">\\n            <div class=\\"row d-flex align-items-stretch\\">\\n                <div data-name=\\"Card\\" class=\\"col-lg-4 pt16 pb16\\">\\n                    <div class=\\"s_card o_card_img_top card h-100 o_cc o_cc1 my-0\\" data-vxml=\\"001\\" data-snippet=\\"s_card\\" data-name=\\"Card\\">\\n                        <figure class=\\"o_card_img_wrapper ratio mb-0 ratio-1x1\\">\\n                            <img class=\\"o_card_img card-img-top\\" src=\\"/web/image/website.s_three_columns_default_image_1\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                        </figure>\\n                        <div class=\\"card-body\\">\\n                            <h5 class=\\"card-title\\">\\n        Gaming\\n    </h5>\\n                            <p class=\\"card-text\\">\\n        La fibre optique transforme la connectivité en offrant des vitesses de transmission de données inégalées. Profitez d'une expérience Internet fluide et rapide.\\n    </p>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div data-name=\\"Card\\" class=\\"col-lg-4 pt16 pb16\\">\\n                    <div class=\\"s_card o_card_img_top card h-100 o_cc o_cc1 my-0\\" data-vxml=\\"001\\" data-snippet=\\"s_card\\" data-name=\\"Card\\">\\n                        <figure class=\\"o_card_img_wrapper ratio mb-0 ratio-1x1\\">\\n                            <img class=\\"o_card_img card-img-top\\" src=\\"/web/image/website.s_three_columns_default_image_2\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                        </figure>\\n                        <div class=\\"card-body\\">\\n                            <h5 class=\\"card-title\\">\\n        Innovation\\n    </h5>\\n                            <p class=\\"card-text\\">\\n        De la conception à l'installation, optimisez vos infrastructures avec une collaboration efficace et des produits de qualité.\\n    </p>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div data-name=\\"Card\\" class=\\"col-lg-4 pt16 pb16\\">\\n                    <div class=\\"s_card o_card_img_top card h-100 o_cc o_cc1 my-0\\" data-vxml=\\"001\\" data-snippet=\\"s_card\\" data-name=\\"Card\\">\\n                        <figure class=\\"o_card_img_wrapper ratio mb-0 ratio-1x1\\">\\n                            <img class=\\"o_card_img card-img-top\\" src=\\"/web/image/website.s_three_columns_default_image_3\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                        </figure>\\n                        <div class=\\"card-body\\">\\n                            <h5 class=\\"card-title\\">\\n        Formation\\n    </h5>\\n                            <p class=\\"card-text\\">\\n        Des solutions de connectivité avancées aux services d'installation, en passant par l'expertise technique en fibre optique.\\n    </p>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n    </section><section class=\\"s_quotes_carousel_wrapper\\" data-vxml=\\"001\\" data-vcss=\\"002\\" data-preview-interaction-enabled=\\"true\\" data-snippet=\\"s_quotes_carousel\\">\\n        <div class=\\"s_quotes_carousel s_carousel_boxed carousel slide o_cc o_cc2\\" data-bs-ride=\\"true\\" data-bs-interval=\\"10000\\" id=\\"myQuoteCarousel746113\\">\\n            \\n            <div class=\\"carousel-inner\\">\\n                \\n                <div class=\\"carousel-item active oe_img_bg o_bg_img_center pt80 pb80\\" style=\\"background-image: url('/web/image/website.s_quotes_carousel_demo_image_0'); background-position: 50% 50%;\\" data-name=\\"Slide\\">\\n                    <blockquote data-name=\\"Blockquote\\" data-snippet=\\"s_blockquote\\" class=\\"s_blockquote s_blockquote_with_icon o_cc o_cc1 o_animable position-relative d-flex flex-column gap-4 w-50 mx-auto p-5 fst-normal\\" data-vcss=\\"001\\">\\n                        <div class=\\"s_blockquote_line_elt position-absolute top-0 start-0 bottom-0 bg-o-color-1\\"/>\\n                        <div class=\\"s_blockquote_wrap_icon position-absolute top-0 start-50 translate-middle w-100\\">\\n                            <i class=\\"s_blockquote_icon fa fa-quote-right d-block mx-auto rounded bg-o-color-1\\" role=\\"img\\"/>\\n                        </div>\\n                        <p class=\\"s_blockquote_quote my-auto h4-fs\\" style=\\"text-align:center;\\">\\" Grâce à www.socof.sa.com, notre réseau est plus rapide et fiable que jamais. Une équipe professionnelle et réactive !\\" - Client satisfait \\"</p>\\n                        <div class=\\"s_blockquote_infos d-flex gap-2 flex-column align-items-center w-100 text-center\\">\\n                            <img src=\\"/web/image/website.s_quotes_carousel_demo_image_3\\" class=\\"s_blockquote_avatar img rounded-circle\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                            <div class=\\"s_blockquote_author\\">\\n                                <span class=\\"o_small\\"><strong>Marie DUPONT</strong><br/> <span class=\\"text-muted\\">Directrice Générale de www.socof.sa.com</span></span>\\n                            </div>\\n                        </div>\\n                    </blockquote>\\n                </div>\\n                \\n                <div class=\\"carousel-item oe_img_bg o_bg_img_center pt80 pb80\\" style=\\"background-image: url('/web/image/website.s_quotes_carousel_demo_image_1'); background-position: 50% 50%;\\" data-name=\\"Slide\\">\\n                    <blockquote data-name=\\"Blockquote\\" data-snippet=\\"s_blockquote\\" class=\\"s_blockquote s_blockquote_with_icon o_cc o_cc1 o_animable position-relative d-flex flex-column gap-4 w-50 mx-auto p-5 fst-normal\\" data-vcss=\\"001\\">\\n                        <div class=\\"s_blockquote_line_elt position-absolute top-0 start-0 bottom-0 bg-o-color-1\\"/>\\n                        <div class=\\"s_blockquote_wrap_icon position-absolute top-0 start-50 translate-middle w-100\\">\\n                            <i class=\\"s_blockquote_icon fa fa-quote-right d-block mx-auto rounded bg-o-color-1\\" role=\\"img\\"/>\\n                        </div>\\n                        <p class=\\"s_blockquote_quote my-auto h4-fs\\" style=\\"text-align:center;\\">\\" Grâce à www.socof.sa.com, notre réseau est plus rapide et fiable que jamais. Une équipe professionnelle et réactive !\\" - Client satisfait \\"</p>\\n                        <div class=\\"s_blockquote_infos d-flex gap-2 flex-column align-items-center w-100 text-center\\">\\n                            <img src=\\"/web/image/website.s_quotes_carousel_demo_image_4\\" class=\\"s_blockquote_avatar img rounded-circle\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                            <div class=\\"s_blockquote_author\\">\\n                                <span class=\\"o_small\\"><strong>Pierre MARTIN</strong><br/> <span class=\\"text-muted\\">Responsable Technique de www.socof.sa.com</span></span>\\n                            </div>\\n                        </div>\\n                    </blockquote>\\n                </div>\\n                \\n                <div class=\\"carousel-item oe_img_bg o_bg_img_center pt80 pb80\\" style=\\"background-image: url('/web/image/website.s_quotes_carousel_demo_image_2'); background-position: 50% 50%;\\" data-name=\\"Slide\\">\\n                    <blockquote data-name=\\"Blockquote\\" data-snippet=\\"s_blockquote\\" class=\\"s_blockquote s_blockquote_with_icon o_cc o_cc1 o_animable position-relative d-flex flex-column gap-4 w-50 mx-auto p-5 fst-normal\\" data-vcss=\\"001\\">\\n                        <div class=\\"s_blockquote_line_elt position-absolute top-0 start-0 bottom-0 bg-o-color-1\\"/>\\n                        <div class=\\"s_blockquote_wrap_icon position-absolute top-0 start-50 translate-middle w-100\\">\\n                            <i class=\\"s_blockquote_icon fa fa-quote-right d-block mx-auto rounded bg-o-color-1\\" role=\\"img\\"/>\\n                        </div>\\n                        <p class=\\"s_blockquote_quote my-auto h4-fs\\" style=\\"text-align:center;\\">\\" Grâce à www.socof.sa.com, notre réseau est plus rapide et fiable que jamais. Une équipe professionnelle et réactive !\\" - Client satisfait \\"</p>\\n                        <div class=\\"s_blockquote_infos d-flex gap-2 flex-column align-items-center w-100 text-center\\">\\n                            <img src=\\"/web/image/website.s_quotes_carousel_demo_image_5\\" class=\\"s_blockquote_avatar img rounded-circle\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                            <div class=\\"s_blockquote_author\\">\\n                                <span class=\\"o_small\\"><strong>Jean DUPONT</strong><br/> <span class=\\"text-muted\\">Responsable de MyCompany</span></span>\\n                            </div>\\n                        </div>\\n                    </blockquote>\\n                </div>\\n            </div>\\n            \\n            <button class=\\"carousel-control-prev o_not_editable\\" contenteditable=\\"false\\" data-bs-slide=\\"prev\\" aria-label=\\"Précédent\\" title=\\"Précédent\\" data-bs-target=\\"#myQuoteCarousel746113\\">\\n                <span class=\\"carousel-control-prev-icon\\" aria-hidden=\\"true\\"/> <span class=\\"visually-hidden\\">Précédent</span>\\n            </button>\\n            <button class=\\"carousel-control-next o_not_editable\\" data-bs-slide=\\"next\\" aria-label=\\"Suivant\\" title=\\"Suivant\\" data-bs-target=\\"#myQuoteCarousel746113\\">\\n                <span class=\\"carousel-control-next-icon\\" aria-hidden=\\"true\\"/> <span class=\\"visually-hidden\\">Suivant</span>\\n            </button>\\n            \\n            <div class=\\"carousel-indicators s_carousel_indicators_dots o_not_editable\\">\\n                <button type=\\"button\\" data-bs-slide-to=\\"0\\" class=\\"active\\" aria-label=\\"Indicateur de produits\\" data-bs-target=\\"#myQuoteCarousel746113\\"/>\\n                <button type=\\"button\\" data-bs-slide-to=\\"1\\" aria-label=\\"Indicateur de produits\\" data-bs-target=\\"#myQuoteCarousel746113\\"/>\\n                <button type=\\"button\\" data-bs-slide-to=\\"2\\" aria-label=\\"Indicateur de produits\\" data-bs-target=\\"#myQuoteCarousel746113\\"/>\\n            </div>\\n        </div>\\n    </section><section class=\\"s_references o_cc pt80 o_cc4 pb64\\" data-snippet=\\"s_references\\">\\n        <div class=\\"container\\">\\n            <h2 style=\\"text-align: center;\\">Partenaires et références</h2>\\n            <p class=\\"lead\\" style=\\"text-align: center;\\">Utilisez cette section pour renforcer la crédibilité de votre entreprise.</p>\\n            <p style=\\"text-align: center;\\">\\n                <a class=\\"o_translate_inline\\" href=\\"#\\">Voir nos projets <i class=\\"fa fa-long-arrow-right ms-2\\"/></a>\\n            </p>\\n            <p><br/></p>\\n            <div class=\\"row\\">\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_demo_image_1\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_demo_image_2\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_demo_image_3\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_demo_image_4\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_demo_image_5\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n                <div class=\\"col-6 col-lg-2 pt16 pb16\\">\\n                    <img src=\\"/web/image/website.s_reference_default_image_6\\" class=\\"img img-fluid mx-auto\\" alt=\\"\\" loading=\\"lazy\\"/>\\n                </div>\\n            </div>\\n        </div>\\n    </section></div>\\n            </div>\\n        </t>\\n    </t>"}	<t name="Services" t-name="website.services">\n        <t t-call="website.layout">\n            <div id="wrap">\n                <div class="oe_structure">\n                    <section class="s_title parallax s_parallax_is_fixed bg-black-50 pt24 pb24" data-vcss="001" data-snippet="s_title" data-scroll-background-ratio="1">\n                        <span class="s_parallax_bg oe_img_bg" style="background-image: url('/web/image/website.s_parallax_default_image'); background-position: 50% 0;"/>\n                        <div class="o_we_bg_filter bg-black-50"/>\n                        <div class="container">\n                            <h1>Services</h1>\n                        </div>\n                    </section>\n                </div>\n                <div class="oe_structure"/>\n            </div>\n        </t>\n    </t>	t	t	2025-07-20 21:22:00.331423	2025-07-20 21:22:23.081511	f	1	\N	\N	\N	\N	\N	\N	\N	\N	f	t
2448	16	\N	1	1	cart_combo_item_line	\N	website_sale.cart_combo_item_line	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t t-name=\\"website_sale.cart_combo_item_line\\">\\n        <a t-att-href=\\"combo_item_line.product_id.website_url if combo_item_line._is_sellable() and combo_item_line.product_id.website_published else '#'\\" t-attf-class=\\"list-group-item #{'list-group-item-action' if combo_item_line._is_sellable() and combo_item_line.product_id.website_published else 'cursor-default text-decoration-none'}\\">\\n            <h6 class=\\"d-inline small\\">\\n                <span t-out=\\"combo_item_line._get_displayed_quantity()\\"/>\\n                x\\n                <span t-out=\\"combo_item_line.name_short\\"/>\\n            </h6>\\n            <t t-set=\\"description_lines\\" t-value=\\"combo_item_line.get_description_following_lines()\\"/>\\n            <div t-if=\\"description_lines\\" class=\\"small text-muted\\">\\n                <t t-foreach=\\"description_lines\\" t-as=\\"description_line\\">\\n                    <span t-if=\\"description_line\\" class=\\"o_description_line overflow-hidden\\" t-out=\\"description_line\\"/>\\n                </t>\\n            </div>\\n        </a>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="website_sale.cart_combo_item_line">\n        <a t-att-href="combo_item_line.product_id.website_url if combo_item_line._is_sellable() and combo_item_line.product_id.website_published else '#'" t-attf-class="list-group-item #{'list-group-item-action' if combo_item_line._is_sellable() and combo_item_line.product_id.website_published else 'cursor-default text-decoration-none'}">\n            <h6 class="d-inline small">\n                <span t-out="combo_item_line._get_displayed_quantity()"/>\n                x\n                <span t-out="combo_item_line.name_short"/>\n            </h6>\n            <t t-set="description_lines" t-value="combo_item_line.get_description_following_lines()"/>\n            <div t-if="description_lines" class="small text-muted">\n                <t t-foreach="description_lines" t-as="description_line">\n                    <span t-if="description_line" class="o_description_line overflow-hidden" t-out="description_line"/>\n                </t>\n            </div>\n        </a>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2449	16	\N	1	1	cart_product_price	\N	website_sale.cart_product_price	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t t-name=\\"website_sale.cart_product_price\\">\\n        <span t-out=\\"product_price\\" style=\\"white-space: nowrap;\\" t-options=\\"{'widget': 'monetary', 'display_currency': website_sale_order.currency_id}\\"/>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="website_sale.cart_product_price">\n        <span t-out="product_price" style="white-space: nowrap;" t-options="{'widget': 'monetary', 'display_currency': website_sale_order.currency_id}"/>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2456	16	\N	1	1	billing_address_row	\N	website_sale.billing_address_row	qweb	website_sale/views/templates.xml	primary	{"en_US": "<t t-name=\\"website_sale.billing_address_row\\">\\n        <div id=\\"billing_address_row\\" class=\\"mb-3\\">\\n            <p t-attf-class=\\"{{only_services and 'h4 mb-3' or 'h5'}}\\">\\n                Billing address\\n            </p>\\n            <t t-set=\\"has_delivery\\" t-value=\\"order._has_deliverable_products()\\"/>\\n            <div t-if=\\"has_delivery\\" class=\\"form-check form-switch mt-2 mb-3\\">\\n                <label id=\\"use_delivery_as_billing_label\\">\\n                    <input type=\\"checkbox\\" id=\\"use_delivery_as_billing\\" class=\\"form-check-input\\" t-att-checked=\\"use_delivery_as_billing\\"/> Same as delivery address\\n                </label>\\n            </div>\\n            <div id=\\"billing_container\\" t-attf-class=\\"{{'d-none' if use_delivery_as_billing and has_delivery else ''}}\\">\\n                <t t-call=\\"website_sale.address_row\\">\\n                    <t t-set=\\"address_type\\" t-value=\\"'billing'\\"/>\\n                    <t t-set=\\"addresses\\" t-value=\\"billing_addresses\\"/>\\n                    <t t-set=\\"selected_address\\" t-value=\\"order.partner_invoice_id\\"/>\\n                </t>\\n            </div>\\n        </div>\\n    </t>", "fr_FR": "<t t-name=\\"website_sale.billing_address_row\\">\\n        <div id=\\"billing_address_row\\" class=\\"mb-3\\">\\n            <p t-attf-class=\\"{{only_services and 'h4 mb-3' or 'h5'}}\\">\\n                Adresse de facturation\\n            </p>\\n            <t t-set=\\"has_delivery\\" t-value=\\"order._has_deliverable_products()\\"/>\\n            <div t-if=\\"has_delivery\\" class=\\"form-check form-switch mt-2 mb-3\\">\\n                <label id=\\"use_delivery_as_billing_label\\">\\n                    <input type=\\"checkbox\\" id=\\"use_delivery_as_billing\\" class=\\"form-check-input\\" t-att-checked=\\"use_delivery_as_billing\\"/> Identique à l'adresse de livraison\\n                </label>\\n            </div>\\n            <div id=\\"billing_container\\" t-attf-class=\\"{{'d-none' if use_delivery_as_billing and has_delivery else ''}}\\">\\n                <t t-call=\\"website_sale.address_row\\">\\n                    <t t-set=\\"address_type\\" t-value=\\"'billing'\\"/>\\n                    <t t-set=\\"addresses\\" t-value=\\"billing_addresses\\"/>\\n                    <t t-set=\\"selected_address\\" t-value=\\"order.partner_invoice_id\\"/>\\n                </t>\\n            </div>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="website_sale.billing_address_row">\n        <div id="billing_address_row" class="mb-3">\n            <p t-attf-class="{{only_services and 'h4 mb-3' or 'h5'}}">\n                Billing address\n            </p>\n            <t t-set="has_delivery" t-value="order._has_deliverable_products()"/>\n            <div t-if="has_delivery" class="form-check form-switch mt-2 mb-3">\n                <label id="use_delivery_as_billing_label">\n                    <input type="checkbox" id="use_delivery_as_billing" class="form-check-input" t-att-checked="use_delivery_as_billing"/> Same as delivery address\n                </label>\n            </div>\n            <div id="billing_container" t-attf-class="{{'d-none' if use_delivery_as_billing and has_delivery else ''}}">\n                <t t-call="website_sale.address_row">\n                    <t t-set="address_type" t-value="'billing'"/>\n                    <t t-set="addresses" t-value="billing_addresses"/>\n                    <t t-set="selected_address" t-value="order.partner_invoice_id"/>\n                </t>\n            </div>\n        </div>\n    </t>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
2457	16	468	1	1	website_sale.address_row	\N	website_sale.address_row	qweb	website_sale/views/templates.xml	primary	{"en_US": "<data inherit_id=\\"portal.address_row\\" primary=\\"True\\">\\n        <t t-call=\\"portal.address_kanban\\" position=\\"replace\\">\\n            <t t-call=\\"website_sale.address_kanban\\">\\n                <!-- Drop show_removal and address_update_url which were in the base call to portal.address_kanban -->\\n                <t t-set=\\"is_user_address\\" t-value=\\"address == request.env.user.partner_id\\"/>\\n                <t t-set=\\"contact\\" t-value=\\"address\\"/>\\n                <t t-set=\\"can_be_edited\\" t-value=\\"contact._can_be_edited_by_current_customer(order_sudo=order)\\"/>\\n                <t t-set=\\"selected\\" t-value=\\"address == selected_address\\"/>\\n            </t>\\n        </t>\\n        <!-- We don't allow public users to have multiple delivery addresses. -->\\n        <div name=\\"add_address\\" position=\\"attributes\\">\\n            <attribute name=\\"t-if\\">\\n                address_type == 'billing' or not order.website_id.is_public_user()\\n            </attribute>\\n        </div>\\n    <xpath expr=\\".\\" position=\\"attributes\\"><attribute name=\\"t-name\\">website_sale.address_row</attribute></xpath></data>"}	<?xml version="1.0"?>\n<data inherit_id="portal.address_row" primary="True">\n        <t t-call="portal.address_kanban" position="replace">\n            <t t-call="website_sale.address_kanban">\n                <!-- Drop show_removal and address_update_url which were in the base call to portal.address_kanban -->\n                <t t-set="is_user_address" t-value="address == request.env.user.partner_id"/>\n                <t t-set="contact" t-value="address"/>\n                <t t-set="can_be_edited" t-value="contact._can_be_edited_by_current_customer(order_sudo=order)"/>\n                <t t-set="selected" t-value="address == selected_address"/>\n            </t>\n        </t>\n        <!-- We don't allow public users to have multiple delivery addresses. -->\n        <div name="add_address" position="attributes">\n            <attribute name="t-if">\n                address_type == 'billing' or not order.website_id.is_public_user()\n            </attribute>\n        </div>\n    <xpath expr="." position="attributes"><attribute name="t-name">website_sale.address_row</attribute></xpath></data>\n\n    	f	t	2025-07-20 21:22:19.442228	2025-07-20 21:22:19.442228	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f	f
