1087	16	1086	1	1	mailing.mailing.view.form.full.width	mailing.mailing	\N	form	mass_mailing/views/mailing_mailing_views.xml	\N	primary	{"en_US": "<data><xpath expr=\\"//form\\" position=\\"attributes\\">\\n                    <attribute name=\\"js_class\\">mailing_mailing_view_form_full_width</attribute>\\n                    <attribute name=\\"class\\">o_form_view o_mass_mailing_mailing_form o_mass_mailing_form_full_width</attribute>\\n                </xpath>\\n                <field name=\\"state\\" position=\\"before\\">\\n                    <xpath expr=\\"//div[hasclass('alert-info')]\\" position=\\"move\\"/>\\n                </field>\\n                <xpath expr=\\"//div[hasclass('alert-info')]\\" position=\\"attributes\\">\\n                    <attribute name=\\"attrs\\">{'invisible': ['|',('state', '=', 'draft'),'&amp;',('state', '!=', 'in_queue'),('failed', '=', 0)]}</attribute>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_canceled')]\\" position=\\"replace\\"/>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_sent')]\\" position=\\"replace\\"/>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_failed')]//span[@name='failed_text']\\" position=\\"replace\\">\\n                    <span name=\\"failed_text\\">email(s) not sent.</span>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]\\" position=\\"attributes\\">\\n                    <attribute name=\\"attrs\\">{'invisible': [('state', '!=', 'in_queue')]}</attribute>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]/button\\" position=\\"attributes\\">\\n                    <attribute name=\\"attrs\\">{'invisible': [('scheduled', '=', 0)]}</attribute>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]//span[@name='scheduled_text']\\" position=\\"replace\\">\\n                    <span name=\\"scheduled_text\\">email(s) scheduled for </span>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]/button\\" position=\\"after\\">\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_in_queue')]/strong/span[@name='next_departure_text']\\" position=\\"attributes\\">\\n                    <attribute name=\\"attrs\\">{'invisible': [('scheduled', '!=', 0)]}</attribute>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]\\" position=\\"inside\\">\\n                    <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_in_queue')]/strong\\" position=\\"move\\"/>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_in_queue')]\\" position=\\"replace\\"/>\\n                <xpath expr=\\"//sheet\\" position=\\"before\\">\\n                    <xpath expr=\\"//div[hasclass('oe_button_box')]\\" position=\\"move\\"/>\\n                    <xpath expr=\\"//widget[@name='web_ribbon']\\" position=\\"move\\"/>\\n                    <xpath expr=\\"//group[hasclass('o_mass_mailing_mailing_group')]\\" position=\\"move\\"/>\\n                    <xpath expr=\\"//notebook\\" position=\\"move\\"/>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('oe_button_box')]\\" position=\\"inside\\">\\n                    <button name=\\"action_view_traces_sent\\" attrs=\\"{'invisible': [('state', 'in', ('draft','test'))]}\\" type=\\"object\\" class=\\"oe_stat_button\\" icon=\\"fa-paper-plane\\">\\n                        <field name=\\"sent\\" widget=\\"statinfo\\" string=\\"Sent\\"/>\\n                    </button>\\n                    <button name=\\"action_view_traces_canceled\\" attrs=\\"{'invisible': [('state', 'in', ('draft','test'))]}\\" type=\\"object\\" class=\\"oe_stat_button\\" icon=\\"fa-paper-plane-o\\">\\n                        <field name=\\"canceled\\" widget=\\"statinfo\\" string=\\"Ignored\\"/>\\n                    </button>\\n                </xpath>\\n                <xpath expr=\\"//notebook\\" position=\\"inside\\">\\n                    <page string=\\"Chat\\" name=\\"chat\\"/>\\n                </xpath>\\n                <xpath expr=\\"//notebook/page[@name='chat']\\" position=\\"inside\\">\\n                    <xpath expr=\\"//div[hasclass('oe_chatter')]\\" position=\\"move\\"/>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('oe_chatter')]\\" position=\\"attributes\\">\\n                    <attribute name=\\"class\\" remove=\\"o-aside\\" add=\\"o-full-width\\" separator=\\" \\"/>\\n                </xpath>\\n                <xpath expr=\\"//notebook/page[@name='mail_body']//field[@name='body_arch']\\" position=\\"attributes\\">\\n                    <attribute name=\\"iframeHtmlClass\\">o_mass_mailing_iframe</attribute>\\n                </xpath>\\n                <xpath expr=\\"//notebook/page[@name='mail_body']\\" position=\\"after\\">\\n                    <!-- test_01_mass_mailing_editor_tour -->\\n                    <field name=\\"body_html\\" invisible=\\"1\\"/>\\n                    <page string=\\"Mail Debug\\" name=\\"mail_debug\\" groups=\\"base.group_no_one\\">\\n                        <div class=\\"position-relative\\">\\n                            <div class=\\"mt-n2\\">\\n                                <field name=\\"body_html\\" class=\\"o_mail_body\\" widget=\\"html\\" readonly=\\"True\\" force_save=\\"1\\" options=\\"{'cssReadonly': 'mass_mailing.iframe_css_assets_readonly'}\\"/>\\n                            </div>\\n                            <field name=\\"is_body_empty\\" invisible=\\"1\\"/>\\n                            <div class=\\"o_view_nocontent oe_read_only\\" attrs=\\"{'invisible': ['|', ('is_body_empty', '=', False), ('state', 'in', ('sending', 'done'))]}\\">\\n                                <div class=\\"o_nocontent_help\\">\\n                                    <p class=\\"o_view_nocontent_smiling_face\\">\\n                                        This mailing has no selected design (yet!).\\n                                    </p>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </page>\\n                </xpath>\\n                <xpath expr=\\"//sheet\\" position=\\"replace\\"/>\\n            </data>", "vi_VN": "<data><xpath expr=\\"//form\\" position=\\"attributes\\">\\n                    <attribute name=\\"js_class\\">mailing_mailing_view_form_full_width</attribute>\\n                    <attribute name=\\"class\\">o_form_view o_mass_mailing_mailing_form o_mass_mailing_form_full_width</attribute>\\n                </xpath>\\n                <field name=\\"state\\" position=\\"before\\">\\n                    <xpath expr=\\"//div[hasclass('alert-info')]\\" position=\\"move\\"/>\\n                </field>\\n                <xpath expr=\\"//div[hasclass('alert-info')]\\" position=\\"attributes\\">\\n                    <attribute name=\\"attrs\\">{'invisible': ['|',('state', '=', 'draft'),'&amp;',('state', '!=', 'in_queue'),('failed', '=', 0)]}</attribute>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_canceled')]\\" position=\\"replace\\"/>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_sent')]\\" position=\\"replace\\"/>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_failed')]//span[@name='failed_text']\\" position=\\"replace\\">\\n                    <span name=\\"failed_text\\">email không được gửi.</span>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]\\" position=\\"attributes\\">\\n                    <attribute name=\\"attrs\\">{'invisible': [('state', '!=', 'in_queue')]}</attribute>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]/button\\" position=\\"attributes\\">\\n                    <attribute name=\\"attrs\\">{'invisible': [('scheduled', '=', 0)]}</attribute>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]//span[@name='scheduled_text']\\" position=\\"replace\\">\\n                    <span name=\\"scheduled_text\\">email được lên lịch cho </span>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]/button\\" position=\\"after\\">\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_in_queue')]/strong/span[@name='next_departure_text']\\" position=\\"attributes\\">\\n                    <attribute name=\\"attrs\\">{'invisible': [('scheduled', '!=', 0)]}</attribute>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]\\" position=\\"inside\\">\\n                    <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_in_queue')]/strong\\" position=\\"move\\"/>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('alert-info')]/div[hasclass('o_mails_in_queue')]\\" position=\\"replace\\"/>\\n                <xpath expr=\\"//sheet\\" position=\\"before\\">\\n                    <xpath expr=\\"//div[hasclass('oe_button_box')]\\" position=\\"move\\"/>\\n                    <xpath expr=\\"//widget[@name='web_ribbon']\\" position=\\"move\\"/>\\n                    <xpath expr=\\"//group[hasclass('o_mass_mailing_mailing_group')]\\" position=\\"move\\"/>\\n                    <xpath expr=\\"//notebook\\" position=\\"move\\"/>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('oe_button_box')]\\" position=\\"inside\\">\\n                    <button name=\\"action_view_traces_sent\\" attrs=\\"{'invisible': [('state', 'in', ('draft','test'))]}\\" type=\\"object\\" class=\\"oe_stat_button\\" icon=\\"fa-paper-plane\\">\\n                        <field name=\\"sent\\" widget=\\"statinfo\\" string=\\"Đã gửi\\"/>\\n                    </button>\\n                    <button name=\\"action_view_traces_canceled\\" attrs=\\"{'invisible': [('state', 'in', ('draft','test'))]}\\" type=\\"object\\" class=\\"oe_stat_button\\" icon=\\"fa-paper-plane-o\\">\\n                        <field name=\\"canceled\\" widget=\\"statinfo\\" string=\\"Bỏ qua\\"/>\\n                    </button>\\n                </xpath>\\n                <xpath expr=\\"//notebook\\" position=\\"inside\\">\\n                    <page string=\\"Nhắn tin\\" name=\\"chat\\"/>\\n                </xpath>\\n                <xpath expr=\\"//notebook/page[@name='chat']\\" position=\\"inside\\">\\n                    <xpath expr=\\"//div[hasclass('oe_chatter')]\\" position=\\"move\\"/>\\n                </xpath>\\n                <xpath expr=\\"//div[hasclass('oe_chatter')]\\" position=\\"attributes\\">\\n                    <attribute name=\\"class\\" remove=\\"o-aside\\" add=\\"o-full-width\\" separator=\\" \\"/>\\n                </xpath>\\n                <xpath expr=\\"//notebook/page[@name='mail_body']//field[@name='body_arch']\\" position=\\"attributes\\">\\n                    <attribute name=\\"iframeHtmlClass\\">o_mass_mailing_iframe</attribute>\\n                </xpath>\\n                <xpath expr=\\"//notebook/page[@name='mail_body']\\" position=\\"after\\">\\n                    <!-- test_01_mass_mailing_editor_tour -->\\n                    <field name=\\"body_html\\" invisible=\\"1\\"/>\\n                    <page string=\\"Gỡ lỗi thư\\" name=\\"mail_debug\\" groups=\\"base.group_no_one\\">\\n                        <div class=\\"position-relative\\">\\n                            <div class=\\"mt-n2\\">\\n                                <field name=\\"body_html\\" class=\\"o_mail_body\\" widget=\\"html\\" readonly=\\"True\\" force_save=\\"1\\" options=\\"{'cssReadonly': 'mass_mailing.iframe_css_assets_readonly'}\\"/>\\n                            </div>\\n                            <field name=\\"is_body_empty\\" invisible=\\"1\\"/>\\n                            <div class=\\"o_view_nocontent oe_read_only\\" attrs=\\"{'invisible': ['|', ('is_body_empty', '=', False), ('state', 'in', ('sending', 'done'))]}\\">\\n                                <div class=\\"o_nocontent_help\\">\\n                                    <p class=\\"o_view_nocontent_smiling_face\\">\\n                                        Thư này chưa có thiết kế được chọn!\\n                                    </p>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </page>\\n                </xpath>\\n                <xpath expr=\\"//sheet\\" position=\\"replace\\"/>\\n            </data>"}	<?xml version="1.0"?>\n<data><xpath expr="//form" position="attributes">\n                    <attribute name="js_class">mailing_mailing_view_form_full_width</attribute>\n                    <attribute name="class">o_form_view o_mass_mailing_mailing_form o_mass_mailing_form_full_width</attribute>\n                </xpath>\n                <field name="state" position="before">\n                    <xpath expr="//div[hasclass('alert-info')]" position="move"/>\n                </field>\n                <xpath expr="//div[hasclass('alert-info')]" position="attributes">\n                    <attribute name="attrs">{'invisible': ['|',('state', '=', 'draft'),'&amp;',('state', '!=', 'in_queue'),('failed', '=', 0)]}</attribute>\n                </xpath>\n                <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_canceled')]" position="replace"/>\n                <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_sent')]" position="replace"/>\n                <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_failed')]//span[@name='failed_text']" position="replace">\n                    <span name="failed_text">email(s) not sent.</span>\n                </xpath>\n                <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]" position="attributes">\n                    <attribute name="attrs">{'invisible': [('state', '!=', 'in_queue')]}</attribute>\n                </xpath>\n                <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]/button" position="attributes">\n                    <attribute name="attrs">{'invisible': [('scheduled', '=', 0)]}</attribute>\n                </xpath>\n                <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]//span[@name='scheduled_text']" position="replace">\n                    <span name="scheduled_text">email(s) scheduled for </span>\n                </xpath>\n                <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]/button" position="after">\n                </xpath>\n                <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_in_queue')]/strong/span[@name='next_departure_text']" position="attributes">\n                    <attribute name="attrs">{'invisible': [('scheduled', '!=', 0)]}</attribute>\n                </xpath>\n                <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_scheduled')]" position="inside">\n                    <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_in_queue')]/strong" position="move"/>\n                </xpath>\n                <xpath expr="//div[hasclass('alert-info')]/div[hasclass('o_mails_in_queue')]" position="replace"/>\n                <xpath expr="//sheet" position="before">\n                    <xpath expr="//div[hasclass('oe_button_box')]" position="move"/>\n                    <xpath expr="//widget[@name='web_ribbon']" position="move"/>\n                    <xpath expr="//group[hasclass('o_mass_mailing_mailing_group')]" position="move"/>\n                    <xpath expr="//notebook" position="move"/>\n                </xpath>\n                <xpath expr="//div[hasclass('oe_button_box')]" position="inside">\n                    <button name="action_view_traces_sent" attrs="{'invisible': [('state', 'in', ('draft','test'))]}" type="object" class="oe_stat_button" icon="fa-paper-plane">\n                        <field name="sent" widget="statinfo" string="Sent"/>\n                    </button>\n                    <button name="action_view_traces_canceled" attrs="{'invisible': [('state', 'in', ('draft','test'))]}" type="object" class="oe_stat_button" icon="fa-paper-plane-o">\n                        <field name="canceled" widget="statinfo" string="Ignored"/>\n                    </button>\n                </xpath>\n                <xpath expr="//notebook" position="inside">\n                    <page string="Chat" name="chat"/>\n                </xpath>\n                <xpath expr="//notebook/page[@name='chat']" position="inside">\n                    <xpath expr="//div[hasclass('oe_chatter')]" position="move"/>\n                </xpath>\n                <xpath expr="//div[hasclass('oe_chatter')]" position="attributes">\n                    <attribute name="class" remove="o-aside" add="o-full-width" separator=" "/>\n                </xpath>\n                <xpath expr="//notebook/page[@name='mail_body']//field[@name='body_arch']" position="attributes">\n                    <attribute name="iframeHtmlClass">o_mass_mailing_iframe</attribute>\n                </xpath>\n                <xpath expr="//notebook/page[@name='mail_body']" position="after">\n                    <!-- test_01_mass_mailing_editor_tour -->\n                    <field name="body_html" invisible="1"/>\n                    <page string="Mail Debug" name="mail_debug" groups="base.group_no_one">\n                        <div class="position-relative">\n                            <div class="mt-n2">\n                                <field name="body_html" class="o_mail_body" widget="html" readonly="True" force_save="1" options="{'cssReadonly': 'mass_mailing.iframe_css_assets_readonly'}"/>\n                            </div>\n                            <field name="is_body_empty" invisible="1"/>\n                            <div class="o_view_nocontent oe_read_only" attrs="{'invisible': ['|', ('is_body_empty', '=', False), ('state', 'in', ('sending', 'done'))]}">\n                                <div class="o_nocontent_help">\n                                    <p class="o_view_nocontent_smiling_face">\n                                        This mailing has no selected design (yet!).\n                                    </p>\n                                </div>\n                            </div>\n                        </div>\n                    </page>\n                </xpath>\n                <xpath expr="//sheet" position="replace"/>\n            </data>	f	t	2025-06-18 15:59:06.262166	2025-06-18 15:59:06.262166	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1088	16	\N	1	1	mailing.mailing.kanban	mailing.mailing	\N	kanban	mass_mailing/views/mailing_mailing_views.xml	\N	primary	{"en_US": "<kanban default_group_by=\\"state\\" quick_create=\\"false\\" sample=\\"1\\">\\n                    <field name=\\"state\\" readonly=\\"1\\"/>\\n                    <field name=\\"email_from\\" readonly=\\"1\\"/>\\n                    <field name=\\"color\\"/>\\n                    <field name=\\"user_id\\"/>\\n                    <field name=\\"expected\\"/>\\n                    <field name=\\"failed\\"/>\\n                    <field name=\\"total\\"/>\\n                    <field name=\\"mailing_model_id\\"/>\\n                    <field name=\\"mailing_model_name\\"/>\\n                    <field name=\\"sent_date\\"/>\\n                    <field name=\\"schedule_date\\"/>\\n                    <field name=\\"next_departure\\"/>\\n                    <field name=\\"active\\"/>\\n                    <templates>\\n                        <t t-name=\\"kanban-box\\">\\n                            <div t-attf-class=\\"{{!selection_mode ? 'oe_kanban_color_' + kanban_getcolor(record.color.raw_value) : ''}} oe_kanban_card oe_kanban_global_click oe_kanban_mass_mailing\\">\\n                                <div class=\\"o_dropdown_kanban dropdown\\" t-if=\\"!selection_mode\\">\\n                                    <a role=\\"button\\" class=\\"dropdown-toggle o-no-caret btn\\" data-bs-toggle=\\"dropdown\\" href=\\"#\\" data-bs-display=\\"static\\" aria-label=\\"Dropdown menu\\" title=\\"Dropdown menu\\">\\n                                        <span class=\\"fa fa-ellipsis-v\\"/>\\n                                    </a>\\n                                    <div class=\\"dropdown-menu\\" role=\\"menu\\">\\n                                        <ul class=\\"oe_kanban_colorpicker\\" data-field=\\"color\\"/>\\n                                        <t t-if=\\"widget.deletable\\">\\n                                            <a role=\\"menuitem\\" type=\\"delete\\" class=\\"dropdown-item\\">Delete</a>\\n                                        </t>\\n                                        <a role=\\"menuitem\\" class=\\"dropdown-item o_kanban_mailing_active\\" name=\\"toggle_active\\" type=\\"object\\">\\n                                            <t t-if=\\"record.active.raw_value\\">Archive</t>\\n                                            <t t-if=\\"!record.active.raw_value\\">Restore</t>\\n                                        </a>\\n                                    </div>\\n                                </div>\\n                                 <div class=\\"oe_kanban_content\\">\\n                                    <div class=\\"o_kanban_record_top\\">\\n                                        <div class=\\"o_kanban_record_headings\\">\\n                                            <div class=\\"row\\" attrs=\\"{'invisible': [('sent_date', '=', False)]}\\">\\n                                                <h3 class=\\"my-1 col-8 o_text_overflow\\">\\n                                                    <field name=\\"subject\\"/>\\n                                                </h3>\\n                                                <div class=\\"progress border col-3 px-0 mt-2\\" style=\\"background-color: inherit; height:12px;\\">\\n                                                    <div class=\\"progress-bar\\" role=\\"progressbar\\" aria-valuemin=\\"0\\" t-att-aria-valuenow=\\"record.delivered.raw_value\\" t-att-aria-valuemax=\\"record.expected.raw_value\\" t-attf-style=\\"width: #{record.delivered.raw_value * 100 / record.expected.raw_value}%\\"/>\\n                                                </div>\\n                                            </div>\\n                                            <h3 class=\\"my-1\\" attrs=\\"{'invisible': [('sent_date', '!=', False)]}\\">\\n                                                <field name=\\"subject\\"/>\\n                                            </h3>\\n                                            <field name=\\"mailing_type\\" invisible=\\"1\\"/>\\n                                            <div class=\\"o_kanban_record_subtitle\\" attrs=\\"{'invisible': [('sent_date', '=', False)]}\\">\\n                                                <h5 style=\\"display: inline;\\">\\n                                                    <field name=\\"campaign_id\\" groups=\\"mass_mailing.group_mass_mailing_campaign\\"/>\\n                                                </h5>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                    <div class=\\"o_kanban_record_body\\" t-if=\\"!selection_mode\\" attrs=\\"{'invisible': [('sent_date', '=', False), ('schedule_date', '=', False), ('state', '!=', 'in_queue')]}\\">\\n                                        <div>\\n                                            <span attrs=\\"{'invisible': [('sent_date', '=', False)]}\\" class=\\"me-1\\"><b><field name=\\"delivered\\"/> / <field name=\\"expected\\"/></b> Delivered to</span>\\n                                            <span attrs=\\"{'invisible': [('sent_date', '!=', False)]}\\" class=\\"me-1\\"><b><field name=\\"total\\"/></b></span>\\n                                            <field name=\\"mailing_model_id\\" attrs=\\"{'invisible': [('mailing_model_name','=','mailing.list')]}\\"/>\\n                                            <span attrs=\\"{'invisible': [('mailing_model_name','!=','mailing.list')]}\\">Mailing Contact</span>\\n                                        </div>\\n                                        <div attrs=\\"{'invisible': [('sent_date', '=', False)]}\\" class=\\"d-flex justify-content-between\\">\\n                                            <div name=\\"stat_opened\\">\\n                                                <b><field name=\\"opened_ratio\\"/>%</b> Opened \\n                                            </div>\\n                                            <div name=\\"stat_replied\\">\\n                                                <b><field name=\\"replied_ratio\\"/>%</b> Replied \\n                                            </div>\\n                                            <div name=\\"stat_clicks\\">\\n                                                <b><field name=\\"clicks_ratio\\"/>%</b> Clicks \\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                                <div name=\\"div_responsible_avatar\\" class=\\"o_kanban_record_bottom\\">\\n                                    <div class=\\"oe_kanban_bottom_left\\">\\n                                        <span attrs=\\"{'invisible': [('sent_date', '=', False)]}\\" t-attf-title=\\"Sent on #{record.sent_date.value}\\" class=\\"d-inline-flex\\">\\n                                            <span class=\\"fa fa-calendar-check-o me-2 small my-auto\\" aria-label=\\"Sent date\\"/>\\n                                            <span class=\\"align-self-baseline\\"><field name=\\"sent_date\\" widget=\\"date\\"/></span>\\n                                        </span>\\n                                        <span attrs=\\"{'invisible': [('schedule_date', '=', False)]}\\" t-attf-title=\\"Scheduled on #{record.schedule_date.value}\\" class=\\"d-inline-flex\\">\\n                                            <span class=\\"fa fa-hourglass-half me-2 small my-auto\\" aria-label=\\"Scheduled date\\"/>\\n                                            <span class=\\"align-self-baseline\\"><field name=\\"schedule_date\\" widget=\\"date\\"/></span>\\n                                        </span>\\n                                        <span attrs=\\"{'invisible': ['|', '|', ('sent_date', '!=', False), ('schedule_date', '!=', False), ('state', '=', 'in_queue')]}\\" class=\\"clearfix\\">\\n                                            <b><field name=\\"total\\" class=\\"me-1\\"/></b>\\n                                            <field name=\\"mailing_model_id\\" attrs=\\"{'invisible': [('mailing_model_name','=','mailing.list')]}\\"/>\\n                                            <span attrs=\\"{'invisible': [('mailing_model_name','!=','mailing.list')]}\\">Mailing Contact</span>\\n                                        </span>\\n                                        <span attrs=\\"{'invisible': ['|', '|', ('schedule_date', '!=', False), ('state', '!=', 'in_queue'), ('next_departure', '=', False)]}\\" t-attf-title=\\"Scheduled on #{record.next_departure.value}\\" class=\\"d-inline-flex\\">\\n                                            <span class=\\"fa fa-hourglass-o me-2 small my-auto\\" aria-label=\\"Scheduled date\\"/>\\n                                            <span class=\\"align-self-baseline\\">Next Batch</span>\\n                                        </span>\\n                                    </div>\\n                                    <div class=\\"oe_kanban_bottom_right\\">\\n                                        <field name=\\"user_id\\" widget=\\"many2one_avatar_user\\"/>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </t>\\n                    </templates>\\n                </kanban>", "vi_VN": "<kanban default_group_by=\\"state\\" quick_create=\\"false\\" sample=\\"1\\">\\n                    <field name=\\"state\\" readonly=\\"1\\"/>\\n                    <field name=\\"email_from\\" readonly=\\"1\\"/>\\n                    <field name=\\"color\\"/>\\n                    <field name=\\"user_id\\"/>\\n                    <field name=\\"expected\\"/>\\n                    <field name=\\"failed\\"/>\\n                    <field name=\\"total\\"/>\\n                    <field name=\\"mailing_model_id\\"/>\\n                    <field name=\\"mailing_model_name\\"/>\\n                    <field name=\\"sent_date\\"/>\\n                    <field name=\\"schedule_date\\"/>\\n                    <field name=\\"next_departure\\"/>\\n                    <field name=\\"active\\"/>\\n                    <templates>\\n                        <t t-name=\\"kanban-box\\">\\n                            <div t-attf-class=\\"{{!selection_mode ? 'oe_kanban_color_' + kanban_getcolor(record.color.raw_value) : ''}} oe_kanban_card oe_kanban_global_click oe_kanban_mass_mailing\\">\\n                                <div class=\\"o_dropdown_kanban dropdown\\" t-if=\\"!selection_mode\\">\\n                                    <a role=\\"button\\" class=\\"dropdown-toggle o-no-caret btn\\" data-bs-toggle=\\"dropdown\\" href=\\"#\\" data-bs-display=\\"static\\" aria-label=\\"Trình đơn thả xuống\\" title=\\"Trình đơn thả xuống\\">\\n                                        <span class=\\"fa fa-ellipsis-v\\"/>\\n                                    </a>\\n                                    <div class=\\"dropdown-menu\\" role=\\"menu\\">\\n                                        <ul class=\\"oe_kanban_colorpicker\\" data-field=\\"color\\"/>\\n                                        <t t-if=\\"widget.deletable\\">\\n                                            <a role=\\"menuitem\\" type=\\"delete\\" class=\\"dropdown-item\\">Xoá</a>\\n                                        </t>\\n                                        <a role=\\"menuitem\\" class=\\"dropdown-item o_kanban_mailing_active\\" name=\\"toggle_active\\" type=\\"object\\">\\n                                            <t t-if=\\"record.active.raw_value\\">Lưu trữ</t>\\n                                            <t t-if=\\"!record.active.raw_value\\">Khôi phục</t>\\n                                        </a>\\n                                    </div>\\n                                </div>\\n                                 <div class=\\"oe_kanban_content\\">\\n                                    <div class=\\"o_kanban_record_top\\">\\n                                        <div class=\\"o_kanban_record_headings\\">\\n                                            <div class=\\"row\\" attrs=\\"{'invisible': [('sent_date', '=', False)]}\\">\\n                                                <h3 class=\\"my-1 col-8 o_text_overflow\\">\\n                                                    <field name=\\"subject\\"/>\\n                                                </h3>\\n                                                <div class=\\"progress border col-3 px-0 mt-2\\" style=\\"background-color: inherit; height:12px;\\">\\n                                                    <div class=\\"progress-bar\\" role=\\"progressbar\\" aria-valuemin=\\"0\\" t-att-aria-valuenow=\\"record.delivered.raw_value\\" t-att-aria-valuemax=\\"record.expected.raw_value\\" t-attf-style=\\"width: #{record.delivered.raw_value * 100 / record.expected.raw_value}%\\"/>\\n                                                </div>\\n                                            </div>\\n                                            <h3 class=\\"my-1\\" attrs=\\"{'invisible': [('sent_date', '!=', False)]}\\">\\n                                                <field name=\\"subject\\"/>\\n                                            </h3>\\n                                            <field name=\\"mailing_type\\" invisible=\\"1\\"/>\\n                                            <div class=\\"o_kanban_record_subtitle\\" attrs=\\"{'invisible': [('sent_date', '=', False)]}\\">\\n                                                <h5 style=\\"display: inline;\\">\\n                                                    <field name=\\"campaign_id\\" groups=\\"mass_mailing.group_mass_mailing_campaign\\"/>\\n                                                </h5>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                    <div class=\\"o_kanban_record_body\\" t-if=\\"!selection_mode\\" attrs=\\"{'invisible': [('sent_date', '=', False), ('schedule_date', '=', False), ('state', '!=', 'in_queue')]}\\">\\n                                        <div>\\n                                            <span attrs=\\"{'invisible': [('sent_date', '=', False)]}\\" class=\\"me-1\\"><b><field name=\\"delivered\\"/> / <field name=\\"expected\\"/></b> Delivered to</span>\\n                                            <span attrs=\\"{'invisible': [('sent_date', '!=', False)]}\\" class=\\"me-1\\"><b><field name=\\"total\\"/></b></span>\\n                                            <field name=\\"mailing_model_id\\" attrs=\\"{'invisible': [('mailing_model_name','=','mailing.list')]}\\"/>\\n                                            <span attrs=\\"{'invisible': [('mailing_model_name','!=','mailing.list')]}\\">Mailing Contact</span>\\n                                        </div>\\n                                        <div attrs=\\"{'invisible': [('sent_date', '=', False)]}\\" class=\\"d-flex justify-content-between\\">\\n                                            <div name=\\"stat_opened\\">\\n                                                <b><field name=\\"opened_ratio\\"/>%</b> Đã mở \\n                                            </div>\\n                                            <div name=\\"stat_replied\\">\\n                                                <b><field name=\\"replied_ratio\\"/>%</b> Đã trả lời \\n                                            </div>\\n                                            <div name=\\"stat_clicks\\">\\n                                                <b><field name=\\"clicks_ratio\\"/>%</b> Nhấn \\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                                <div name=\\"div_responsible_avatar\\" class=\\"o_kanban_record_bottom\\">\\n                                    <div class=\\"oe_kanban_bottom_left\\">\\n                                        <span attrs=\\"{'invisible': [('sent_date', '=', False)]}\\" t-attf-title=\\"Sent on #{record.sent_date.value}\\" class=\\"d-inline-flex\\">\\n                                            <span class=\\"fa fa-calendar-check-o me-2 small my-auto\\" aria-label=\\"Ngày gửi\\"/>\\n                                            <span class=\\"align-self-baseline\\"><field name=\\"sent_date\\" widget=\\"date\\"/></span>\\n                                        </span>\\n                                        <span attrs=\\"{'invisible': [('schedule_date', '=', False)]}\\" t-attf-title=\\"Scheduled on #{record.schedule_date.value}\\" class=\\"d-inline-flex\\">\\n                                            <span class=\\"fa fa-hourglass-half me-2 small my-auto\\" aria-label=\\"Ngày lên lịch\\"/>\\n                                            <span class=\\"align-self-baseline\\"><field name=\\"schedule_date\\" widget=\\"date\\"/></span>\\n                                        </span>\\n                                        <span attrs=\\"{'invisible': ['|', '|', ('sent_date', '!=', False), ('schedule_date', '!=', False), ('state', '=', 'in_queue')]}\\" class=\\"clearfix\\">\\n                                            <b><field name=\\"total\\" class=\\"me-1\\"/></b>\\n                                            <field name=\\"mailing_model_id\\" attrs=\\"{'invisible': [('mailing_model_name','=','mailing.list')]}\\"/>\\n                                            <span attrs=\\"{'invisible': [('mailing_model_name','!=','mailing.list')]}\\">Mailing Contact</span>\\n                                        </span>\\n                                        <span attrs=\\"{'invisible': ['|', '|', ('schedule_date', '!=', False), ('state', '!=', 'in_queue'), ('next_departure', '=', False)]}\\" t-attf-title=\\"Scheduled on #{record.next_departure.value}\\" class=\\"d-inline-flex\\">\\n                                            <span class=\\"fa fa-hourglass-o me-2 small my-auto\\" aria-label=\\"Ngày lên lịch\\"/>\\n                                            <span class=\\"align-self-baseline\\">Lô tiếp theo</span>\\n                                        </span>\\n                                    </div>\\n                                    <div class=\\"oe_kanban_bottom_right\\">\\n                                        <field name=\\"user_id\\" widget=\\"many2one_avatar_user\\"/>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </t>\\n                    </templates>\\n                </kanban>"}	<?xml version="1.0"?>\n<kanban default_group_by="state" quick_create="false" sample="1">\n                    <field name="state" readonly="1"/>\n                    <field name="email_from" readonly="1"/>\n                    <field name="color"/>\n                    <field name="user_id"/>\n                    <field name="expected"/>\n                    <field name="failed"/>\n                    <field name="total"/>\n                    <field name="mailing_model_id"/>\n                    <field name="mailing_model_name"/>\n                    <field name="sent_date"/>\n                    <field name="schedule_date"/>\n                    <field name="next_departure"/>\n                    <field name="active"/>\n                    <templates>\n                        <t t-name="kanban-box">\n                            <div t-attf-class="{{!selection_mode ? 'oe_kanban_color_' + kanban_getcolor(record.color.raw_value) : ''}} oe_kanban_card oe_kanban_global_click oe_kanban_mass_mailing">\n                                <div class="o_dropdown_kanban dropdown" t-if="!selection_mode">\n                                    <a role="button" class="dropdown-toggle o-no-caret btn" data-bs-toggle="dropdown" href="#" data-bs-display="static" aria-label="Dropdown menu" title="Dropdown menu">\n                                        <span class="fa fa-ellipsis-v"/>\n                                    </a>\n                                    <div class="dropdown-menu" role="menu">\n                                        <ul class="oe_kanban_colorpicker" data-field="color"/>\n                                        <t t-if="widget.deletable">\n                                            <a role="menuitem" type="delete" class="dropdown-item">Delete</a>\n                                        </t>\n                                        <a role="menuitem" class="dropdown-item o_kanban_mailing_active" name="toggle_active" type="object">\n                                            <t t-if="record.active.raw_value">Archive</t>\n                                            <t t-if="!record.active.raw_value">Restore</t>\n                                        </a>\n                                    </div>\n                                </div>\n                                 <div class="oe_kanban_content">\n                                    <div class="o_kanban_record_top">\n                                        <div class="o_kanban_record_headings">\n                                            <div class="row" attrs="{'invisible': [('sent_date', '=', False)]}">\n                                                <h3 class="my-1 col-8 o_text_overflow">\n                                                    <field name="subject"/>\n                                                </h3>\n                                                <div class="progress border col-3 px-0 mt-2" style="background-color: inherit; height:12px;">\n                                                    <div class="progress-bar" role="progressbar" aria-valuemin="0" t-att-aria-valuenow="record.delivered.raw_value" t-att-aria-valuemax="record.expected.raw_value" t-attf-style="width: #{record.delivered.raw_value * 100 / record.expected.raw_value}%"/>\n                                                </div>\n                                            </div>\n                                            <h3 class="my-1" attrs="{'invisible': [('sent_date', '!=', False)]}">\n                                                <field name="subject"/>\n                                            </h3>\n                                            <field name="mailing_type" invisible="1"/>\n                                            <div class="o_kanban_record_subtitle" attrs="{'invisible': [('sent_date', '=', False)]}">\n                                                <h5 style="display: inline;">\n                                                    <field name="campaign_id" groups="mass_mailing.group_mass_mailing_campaign"/>\n                                                </h5>\n                                            </div>\n                                        </div>\n                                    </div>\n                                    <div class="o_kanban_record_body" t-if="!selection_mode" attrs="{'invisible': [('sent_date', '=', False), ('schedule_date', '=', False), ('state', '!=', 'in_queue')]}">\n                                        <div>\n                                            <span attrs="{'invisible': [('sent_date', '=', False)]}" class="me-1"><b><field name="delivered"/> / <field name="expected"/></b> Delivered to</span>\n                                            <span attrs="{'invisible': [('sent_date', '!=', False)]}" class="me-1"><b><field name="total"/></b></span>\n                                            <field name="mailing_model_id" attrs="{'invisible': [('mailing_model_name','=','mailing.list')]}"/>\n                                            <span attrs="{'invisible': [('mailing_model_name','!=','mailing.list')]}">Mailing Contact</span>\n                                        </div>\n                                        <div attrs="{'invisible': [('sent_date', '=', False)]}" class="d-flex justify-content-between">\n                                            <div name="stat_opened">\n                                                <b><field name="opened_ratio"/>%</b> Opened \n                                            </div>\n                                            <div name="stat_replied">\n                                                <b><field name="replied_ratio"/>%</b> Replied \n                                            </div>\n                                            <div name="stat_clicks">\n                                                <b><field name="clicks_ratio"/>%</b> Clicks \n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div name="div_responsible_avatar" class="o_kanban_record_bottom">\n                                    <div class="oe_kanban_bottom_left">\n                                        <span attrs="{'invisible': [('sent_date', '=', False)]}" t-attf-title="Sent on #{record.sent_date.value}" class="d-inline-flex">\n                                            <span class="fa fa-calendar-check-o me-2 small my-auto" aria-label="Sent date"/>\n                                            <span class="align-self-baseline"><field name="sent_date" widget="date"/></span>\n                                        </span>\n                                        <span attrs="{'invisible': [('schedule_date', '=', False)]}" t-attf-title="Scheduled on #{record.schedule_date.value}" class="d-inline-flex">\n                                            <span class="fa fa-hourglass-half me-2 small my-auto" aria-label="Scheduled date"/>\n                                            <span class="align-self-baseline"><field name="schedule_date" widget="date"/></span>\n                                        </span>\n                                        <span attrs="{'invisible': ['|', '|', ('sent_date', '!=', False), ('schedule_date', '!=', False), ('state', '=', 'in_queue')]}" class="clearfix">\n                                            <b><field name="total" class="me-1"/></b>\n                                            <field name="mailing_model_id" attrs="{'invisible': [('mailing_model_name','=','mailing.list')]}"/>\n                                            <span attrs="{'invisible': [('mailing_model_name','!=','mailing.list')]}">Mailing Contact</span>\n                                        </span>\n                                        <span attrs="{'invisible': ['|', '|', ('schedule_date', '!=', False), ('state', '!=', 'in_queue'), ('next_departure', '=', False)]}" t-attf-title="Scheduled on #{record.next_departure.value}" class="d-inline-flex">\n                                            <span class="fa fa-hourglass-o me-2 small my-auto" aria-label="Scheduled date"/>\n                                            <span class="align-self-baseline">Next Batch</span>\n                                        </span>\n                                    </div>\n                                    <div class="oe_kanban_bottom_right">\n                                        <field name="user_id" widget="many2one_avatar_user"/>\n                                    </div>\n                                </div>\n                            </div>\n                        </t>\n                    </templates>\n                </kanban>\n            	f	t	2025-06-18 15:59:06.262166	2025-06-18 15:59:06.262166	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1091	60	172	1	1	res.config.settings.view.form.inherit.mass.mailing	res.config.settings	\N	form	mass_mailing/views/res_config_settings_views.xml	\N	extension	{"en_US": "<xpath expr=\\"//div[hasclass('settings')]\\" position=\\"inside\\">\\n                    <div class=\\"app_settings_block\\" data-string=\\"Email Marketing\\" string=\\"Email Marketing\\" data-key=\\"mass_mailing\\" groups=\\"mass_mailing.group_mass_mailing_user\\">\\n                      <h2>Email Marketing</h2>\\n                        <div class=\\"row mt16 o_settings_container\\" name=\\"managa_mail_campaigns_setting_container\\">\\n                            <div class=\\"col-lg-6 o_setting_box col-12\\" title=\\"This tool is advised if your marketing campaign is composed of several emails.\\">\\n                                <div class=\\"o_setting_left_pane\\" title=\\"This is useful if your marketing campaigns are composed of several emails.\\">\\n                                    <field name=\\"group_mass_mailing_campaign\\"/>\\n                                </div>\\n                                <div class=\\"o_setting_right_pane\\">\\n                                    <label for=\\"group_mass_mailing_campaign\\"/>\\n                                    <div class=\\"text-muted\\">\\n                                        Manage mass mailing campaigns\\n                                    </div>\\n                                </div>\\n                            </div>\\n                            <div class=\\"col-lg-6 o_setting_box col-12\\" name=\\"dedicated_server_setting_container\\">\\n                                <div class=\\"o_setting_left_pane\\" title=\\"Use a specific mail server in priority. Otherwise Odoo relies on the first outgoing mail server available (based on their sequencing) as it does for normal mails.\\">\\n                                    <field name=\\"mass_mailing_outgoing_mail_server\\"/>\\n                                </div>\\n                                <div class=\\"o_setting_right_pane\\">\\n                                    <label for=\\"mass_mailing_outgoing_mail_server\\"/>\\n                                    <div class=\\"text-muted\\">\\n                                        Pick a dedicated outgoing mail server for your mass mailings\\n                                    </div>\\n                                    <div class=\\"content-group\\" attrs=\\"{'invisible': [('mass_mailing_outgoing_mail_server', '=', False)]}\\">\\n                                        <div class=\\"mt16\\">\\n                                            <field name=\\"mass_mailing_mail_server_id\\" options=\\"{'no_create': True, 'no_open': True}\\" placeholder=\\"Default Server\\"/>\\n                                        </div>\\n                                        <div class=\\"mt8\\">\\n                                            <button type=\\"action\\" name=\\"base.action_ir_mail_server_list\\" string=\\"Configure Outgoing Mail Servers\\" icon=\\"fa-arrow-right\\" class=\\"oe_link\\"/>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                            <div class=\\"col-md-6 o_setting_box col-xs-12\\" name=\\"allow_blacklist_setting_container\\">\\n                                <div class=\\"o_setting_left_pane\\" title=\\"Allow the recipient to manage themselves their state in the blacklist via the unsubscription page.                                 If the option is active, the 'Blacklist Me' button is hidden on the unsubscription page.                                 The 'come Back' button will always be visible in any case to allow leads and partners to re-subscribe.\\">\\n                                    <field name=\\"show_blacklist_buttons\\"/>\\n                                </div>\\n                                <div class=\\"o_setting_right_pane\\">\\n                                    <label for=\\"show_blacklist_buttons\\"/>\\n                                    <div class=\\"text-muted\\">\\n                                        Allow recipients to blacklist themselves\\n                                    </div>\\n                                </div>\\n                            </div>\\n                            <div class=\\"col-md-6 o_setting_box col-xs-12\\" name=\\"mass_mailing_reports_setting_container\\">\\n                                <div class=\\"o_setting_left_pane\\" title=\\"Send a report to the mailing responsible one day after the mailing has been sent.\\">\\n                                    <field name=\\"mass_mailing_reports\\"/>\\n                                </div>\\n                                <div class=\\"o_setting_right_pane\\">\\n                                    <label for=\\"mass_mailing_reports\\"/>\\n                                    <div class=\\"text-muted\\">\\n                                        Check how well your mailing is doing a day after it has been sent\\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </xpath>", "vi_VN": "<xpath expr=\\"//div[hasclass('settings')]\\" position=\\"inside\\">\\n                    <div class=\\"app_settings_block\\" data-string=\\"Email Marketing\\" string=\\"Email Marketing\\" data-key=\\"mass_mailing\\" groups=\\"mass_mailing.group_mass_mailing_user\\">\\n                      <h2>Email Marketing</h2>\\n                        <div class=\\"row mt16 o_settings_container\\" name=\\"managa_mail_campaigns_setting_container\\">\\n                            <div class=\\"col-lg-6 o_setting_box col-12\\" title=\\"Công cụ này được khuyên nếu chiến dịch tiếp thị của bạn bao gồm một số email.\\">\\n                                <div class=\\"o_setting_left_pane\\" title=\\"Điều này hữu ích nếu các chiến dịch tiếp thị của bạn bao gồm một số email\\">\\n                                    <field name=\\"group_mass_mailing_campaign\\"/>\\n                                </div>\\n                                <div class=\\"o_setting_right_pane\\">\\n                                    <label for=\\"group_mass_mailing_campaign\\"/>\\n                                    <div class=\\"text-muted\\">\\n                                        Manage mass mailing campaigns\\n                                    </div>\\n                                </div>\\n                            </div>\\n                            <div class=\\"col-lg-6 o_setting_box col-12\\" name=\\"dedicated_server_setting_container\\">\\n                                <div class=\\"o_setting_left_pane\\" title=\\"Sử dụng một máy chủ thư cụ thể ưu tiên. Nếu không, Odoo dựa vào máy chủ thư đi đầu tiên có sẵn (dựa trên trình tự của họ) như đối với các thư thông thường.\\">\\n                                    <field name=\\"mass_mailing_outgoing_mail_server\\"/>\\n                                </div>\\n                                <div class=\\"o_setting_right_pane\\">\\n                                    <label for=\\"mass_mailing_outgoing_mail_server\\"/>\\n                                    <div class=\\"text-muted\\">\\n                                        Chọn một máy chủ thư đi riêng dành cho hoạt động gửi thư hàng loạt của bạn\\n                                    </div>\\n                                    <div class=\\"content-group\\" attrs=\\"{'invisible': [('mass_mailing_outgoing_mail_server', '=', False)]}\\">\\n                                        <div class=\\"mt16\\">\\n                                            <field name=\\"mass_mailing_mail_server_id\\" options=\\"{'no_create': True, 'no_open': True}\\" placeholder=\\"Máy chủ mặc định\\"/>\\n                                        </div>\\n                                        <div class=\\"mt8\\">\\n                                            <button type=\\"action\\" name=\\"base.action_ir_mail_server_list\\" string=\\"Cấu hình máy chủ thư đi\\" icon=\\"fa-arrow-right\\" class=\\"oe_link\\"/>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                            <div class=\\"col-md-6 o_setting_box col-xs-12\\" name=\\"allow_blacklist_setting_container\\">\\n                                <div class=\\"o_setting_left_pane\\" title=\\"Allow the recipient to manage themselves their state in the blacklist via the unsubscription page.                                 If the option is active, the 'Blacklist Me' button is hidden on the unsubscription page.                                 The 'come Back' button will always be visible in any case to allow leads and partners to re-subscribe.\\">\\n                                    <field name=\\"show_blacklist_buttons\\"/>\\n                                </div>\\n                                <div class=\\"o_setting_right_pane\\">\\n                                    <label for=\\"show_blacklist_buttons\\"/>\\n                                    <div class=\\"text-muted\\">\\n                                        Allow recipients to blacklist themselves\\n                                    </div>\\n                                </div>\\n                            </div>\\n                            <div class=\\"col-md-6 o_setting_box col-xs-12\\" name=\\"mass_mailing_reports_setting_container\\">\\n                                <div class=\\"o_setting_left_pane\\" title=\\"Gửi báo cáo tới người chịu trách nhiệm thư sau một ngày kể từ khi gửi thư.\\">\\n                                    <field name=\\"mass_mailing_reports\\"/>\\n                                </div>\\n                                <div class=\\"o_setting_right_pane\\">\\n                                    <label for=\\"mass_mailing_reports\\"/>\\n                                    <div class=\\"text-muted\\">\\n                                        Kiểm tra xem thư của bạn hoạt động như thế nào sau một ngày gửi đi\\n                                    </div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </xpath>"}	<?xml version="1.0"?>\n<xpath expr="//div[hasclass('settings')]" position="inside">\n                    <div class="app_settings_block" data-string="Email Marketing" string="Email Marketing" data-key="mass_mailing" groups="mass_mailing.group_mass_mailing_user">\n                      <h2>Email Marketing</h2>\n                        <div class="row mt16 o_settings_container" name="managa_mail_campaigns_setting_container">\n                            <div class="col-lg-6 o_setting_box col-12" title="This tool is advised if your marketing campaign is composed of several emails.">\n                                <div class="o_setting_left_pane" title="This is useful if your marketing campaigns are composed of several emails.">\n                                    <field name="group_mass_mailing_campaign"/>\n                                </div>\n                                <div class="o_setting_right_pane">\n                                    <label for="group_mass_mailing_campaign"/>\n                                    <div class="text-muted">\n                                        Manage mass mailing campaigns\n                                    </div>\n                                </div>\n                            </div>\n                            <div class="col-lg-6 o_setting_box col-12" name="dedicated_server_setting_container">\n                                <div class="o_setting_left_pane" title="Use a specific mail server in priority. Otherwise Odoo relies on the first outgoing mail server available (based on their sequencing) as it does for normal mails.">\n                                    <field name="mass_mailing_outgoing_mail_server"/>\n                                </div>\n                                <div class="o_setting_right_pane">\n                                    <label for="mass_mailing_outgoing_mail_server"/>\n                                    <div class="text-muted">\n                                        Pick a dedicated outgoing mail server for your mass mailings\n                                    </div>\n                                    <div class="content-group" attrs="{'invisible': [('mass_mailing_outgoing_mail_server', '=', False)]}">\n                                        <div class="mt16">\n                                            <field name="mass_mailing_mail_server_id" options="{'no_create': True, 'no_open': True}" placeholder="Default Server"/>\n                                        </div>\n                                        <div class="mt8">\n                                            <button type="action" name="base.action_ir_mail_server_list" string="Configure Outgoing Mail Servers" icon="fa-arrow-right" class="oe_link"/>\n                                        </div>\n                                    </div>\n                                </div>\n                            </div>\n                            <div class="col-md-6 o_setting_box col-xs-12" name="allow_blacklist_setting_container">\n                                <div class="o_setting_left_pane" title="Allow the recipient to manage themselves their state in the blacklist via the unsubscription page.                                 If the option is active, the 'Blacklist Me' button is hidden on the unsubscription page.                                 The 'come Back' button will always be visible in any case to allow leads and partners to re-subscribe.">\n                                    <field name="show_blacklist_buttons"/>\n                                </div>\n                                <div class="o_setting_right_pane">\n                                    <label for="show_blacklist_buttons"/>\n                                    <div class="text-muted">\n                                        Allow recipients to blacklist themselves\n                                    </div>\n                                </div>\n                            </div>\n                            <div class="col-md-6 o_setting_box col-xs-12" name="mass_mailing_reports_setting_container">\n                                <div class="o_setting_left_pane" title="Send a report to the mailing responsible one day after the mailing has been sent.">\n                                    <field name="mass_mailing_reports"/>\n                                </div>\n                                <div class="o_setting_right_pane">\n                                    <label for="mass_mailing_reports"/>\n                                    <div class="text-muted">\n                                        Check how well your mailing is doing a day after it has been sent\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </xpath>\n            	f	t	2025-06-18 15:59:06.262166	2025-06-18 15:59:06.262166	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1120	16	229	1	1	snippet_options	\N	mass_mailing.snippet_options	qweb	mass_mailing/views/snippets_themes.xml	\N	primary	{"en_US": "<data inherit_id=\\"web_editor.snippet_options\\" primary=\\"True\\">\\n    <!-- =================================================================== -->\\n    <!-- Modify generic snippet options                                      -->\\n    <!-- =================================================================== -->\\n\\n    <xpath expr=\\"//t[@t-set='no_animations']\\" position=\\"attributes\\">\\n        <attribute name=\\"t-value\\">True</attribute>\\n    </xpath>\\n\\n    <!-- Extra shapes -->\\n    <xpath expr=\\"//div[hasclass('o_we_image_shape')]//we-select-page[hasclass('o_we_basic_shapes')]\\" position=\\"inside\\">\\n        <we-button data-set-img-shape=\\"mass_mailing/basic/circle\\" data-select-label=\\"Circle\\"/>\\n        <we-button data-set-img-shape=\\"mass_mailing/basic/triangle\\" data-select-label=\\"Triangle\\"/>\\n        <we-button data-set-img-shape=\\"mass_mailing/basic/slanted\\" data-select-label=\\"Slanted\\"/>\\n    </xpath>\\n    <xpath expr=\\"//div[hasclass('o_we_image_shape')]//we-select-page[hasclass('o_we_basic_shapes')]\\" position=\\"attributes\\">\\n        <attribute name=\\"t-if\\">True</attribute>\\n    </xpath>\\n\\n    <!-- Image styles -->\\n    <!-- TODO review to only modify what's really necessary and potentially -->\\n    <!-- make the changes in web_editor directly so that website can benefit -->\\n    <!-- from it. -->\\n    <xpath expr=\\"//div[hasclass('o_we_image_options')]\\" position=\\"replace\\">\\n        <div data-selector=\\"span.fa, i.fa, img\\">\\n            <we-select string=\\"Alignment\\" data-state-to-first-class=\\"true\\">\\n                <we-button data-select-class=\\"float-start\\" title=\\"Align Left\\">Left</we-button>\\n                <we-button data-select-class=\\"mx-auto\\" title=\\"Align Center\\">Center</we-button>\\n                <we-button data-select-class=\\"float-end\\" title=\\"Align Right\\">Right</we-button>\\n            </we-select>\\n\\n            <t t-call=\\"mass_mailing.snippet_options_border_line_widgets\\">\\n                <t t-set=\\"label\\">Border</t>\\n                <t t-set=\\"with_bs_class\\" t-value=\\"True\\"/>\\n            </t>\\n\\n            <we-input string=\\"Round Corners\\" data-select-style=\\"0\\" data-css-property=\\"border-radius\\" data-unit=\\"px\\" data-extra-class=\\"rounded\\" t-att-data-variable=\\"radius_variable\\"/>\\n\\n            <we-row string=\\"Padding ⭤\\">\\n                <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-left\\"/>\\n                <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-right\\"/>\\n            </we-row>\\n            <we-row string=\\"Padding ↕\\">\\n                <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-top\\"/>\\n                <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-bottom\\"/>\\n            </we-row>\\n        </div>\\n    </xpath>\\n\\n    <!-- Transform is _very_ badly supported in mail clients -->\\n    <xpath expr=\\"//we-button[@data-name='image_transform_opt']\\" position=\\"replace\\"/>\\n\\n    <xpath expr=\\"//div[@data-js='ImageTools']\\" position=\\"attributes\\">\\n        <attribute name=\\"data-js\\">MassMailingImageTools</attribute>\\n    </xpath>\\n\\n    <!-- =================================================================== -->\\n    <!-- Adding mass_mailing specific snippet options                        -->\\n    <!-- =================================================================== -->\\n\\n    <xpath expr=\\".\\" position=\\"inside\\">\\n\\n    <!-- Border | Columns -->\\n    <div data-js=\\"Box\\" data-selector=\\".row &gt; div\\" data-exclude=\\".o_mail_wrapper_td, .s_col_no_bgcolor, .s_col_no_bgcolor.row &gt; div, .s_image_gallery .row &gt; div\\">\\n        <t t-call=\\"mass_mailing.snippet_options_border_widgets\\"/>\\n    </div>\\n    <div data-js=\\"layout_column\\" data-selector=\\".o_mail_snippet_general\\" data-target=\\"&gt; *:has(&gt; .row:not(.s_nb_column_fixed)), &gt; .s_allow_columns\\">\\n        <we-select string=\\"Columns\\" data-no-preview=\\"true\\">\\n            <we-button data-select-count=\\"0\\" data-name=\\"zero_cols_opt\\">None</we-button>\\n            <we-button data-select-count=\\"1\\">1</we-button>\\n            <we-button data-select-count=\\"2\\">2</we-button>\\n            <we-button data-select-count=\\"3\\">3</we-button>\\n            <we-button data-select-count=\\"4\\">4</we-button>\\n            <we-button data-select-count=\\"5\\">5</we-button>\\n            <we-button data-select-count=\\"6\\">6</we-button>\\n        </we-select>\\n    </div>\\n\\n    <!-- Move snippets around -->\\n    <div data-js=\\"SnippetMove\\" data-selector=\\".o_mail_snippet_general\\">\\n        <we-button class=\\"fa fa-fw fa-angle-up\\" data-move-snippet=\\"prev\\" data-no-preview=\\"true\\" data-name=\\"move_up_opt\\"/>\\n        <we-button class=\\"fa fa-fw fa-angle-down\\" data-move-snippet=\\"next\\" data-no-preview=\\"true\\" data-name=\\"move_down_opt\\"/>\\n    </div>\\n    <div data-js=\\"SnippetMove\\" data-selector=\\".row:not(.s_col_no_resize) &gt; div\\" data-exclude=\\".s_showcase .row &gt; div\\" data-name=\\"move_horizontally_opt\\">\\n        <we-button class=\\"fa fa-fw fa-angle-left\\" data-move-snippet=\\"prev\\" data-no-preview=\\"true\\" data-name=\\"move_left_opt\\"/>\\n        <we-button class=\\"fa fa-fw fa-angle-right\\" data-move-snippet=\\"next\\" data-no-preview=\\"true\\" data-name=\\"move_right_opt\\"/>\\n    </div>\\n\\n    <div id=\\"so_width\\" data-selector=\\".s_mail_alert .s_alert, .s_mail_blockquote, .s_mail_text_highlight\\">\\n        <we-select string=\\"Width\\">\\n            <we-button data-select-class=\\"w-25\\">25%</we-button>\\n            <we-button data-select-class=\\"w-50\\">50%</we-button>\\n            <we-button data-select-class=\\"w-75\\">75%</we-button>\\n            <we-button data-select-class=\\"w-100\\" data-name=\\"so_width_100\\">100%</we-button>\\n        </we-select>\\n    </div>\\n\\n    <div id=\\"so_block_align\\" data-selector=\\".s_mail_alert .s_alert, .s_mail_blockquote, .s_mail_text_highlight\\">\\n        <we-button-group string=\\"Alignment\\" data-dependencies=\\"!so_width_100\\">\\n            <we-button class=\\"fa fa-fw fa-align-left\\" title=\\"Left\\" data-select-class=\\"me-auto\\"/>\\n            <we-button class=\\"fa fa-fw fa-align-center\\" title=\\"Center\\" data-select-class=\\"mx-auto\\"/>\\n            <we-button class=\\"fa fa-fw fa-align-right\\" title=\\"Right\\" data-select-class=\\"ms-auto\\"/>\\n        </we-button-group>\\n    </div>\\n    <!-- TODO there is no data-js associated to this but a data-option-name, -->\\n    <!-- somehow it acts as data-js... it will be reviewed in master. -->\\n    <div data-option-name=\\"minHeight\\" data-selector=\\".o_mail_snippet_general\\" data-exclude=\\".o_mail_snippet_general .row &gt; div *\\">\\n        <we-button-group string=\\"Height\\">\\n            <we-button data-name=\\"minheight_auto_opt\\" data-select-class=\\"\\" title=\\"Fit content\\">Auto</we-button>\\n            <we-button data-select-class=\\"o_height_400\\" title=\\"400px\\">50%</we-button>\\n            <we-button data-select-class=\\"o_height_800\\" title=\\"800px\\">100%</we-button>\\n        </we-button-group>\\n    </div>\\n    <div data-js=\\"mass_mailing_sizing_x\\" data-selector=\\"img, .mv, .col_mv, td, th\\" data-exclude=\\".o_mail_no_resize, .o_mail_no_options\\"/>\\n\\n    <div data-js=\\"table_row\\" data-selector=\\"tr:has(&gt; .row), tr:has(&gt; .col_mv)\\" data-exclude=\\".o_mail_no_options\\" data-drop-near=\\"tr:has(&gt; .row), tr:has(&gt; .col_mv)\\"/>\\n\\n    <div data-js=\\"table_column\\" data-selector=\\".col&gt;td, .col&gt;th\\" data-exclude=\\".o_mail_no_options\\" data-drop-near=\\".col&gt;td, .col&gt;th\\"/>\\n\\n    <div data-js=\\"table_column_mv\\" data-selector=\\".col_mv, td, th\\" data-exclude=\\".o_mail_no_options\\" data-drop-near=\\".col_mv, td, th\\"/>\\n\\n    <t t-set=\\"mailing_content_selector\\" t-translation=\\"off\\">.note-editable &gt; div:not(.o_layout), .note-editable .oe_structure &gt; div, .oe_snippet_body</t>\\n    <div data-js=\\"content\\" t-att-data-selector=\\"mailing_content_selector\\" data-exclude=\\".o_mail_no_options\\" data-drop-near=\\"[data-oe-field='body_html']:not(:has(.o_layout)) &gt; *, .oe_structure &gt; *\\" data-drop-in=\\"[data-oe-field='body_html']:not(:has(.o_layout)), .oe_structure\\"/>\\n\\n    <t t-set=\\"so_snippet_addition_selector\\" t-translation=\\"off\\">.o_mail_snippet_general</t>\\n    <div id=\\"so_snippet_addition\\" t-att-data-selector=\\"so_snippet_addition_selector\\" data-drop-in=\\":not(p).oe_structure:not(.oe_structure_solo), :not(.o_mega_menu):not(p)[data-oe-type=html], :not(p).oe_structure.oe_structure_solo:not(:has(&gt; section, &gt; div))\\"/>\\n\\n    <t t-set=\\"so_content_addition_selector\\" t-translation=\\"off\\">.s_mail_blockquote, .s_mail_alert, .s_rating, .s_hr, .s_mail_text_highlight</t>\\n    <div id=\\"so_content_addition\\" t-att-data-selector=\\"so_content_addition_selector\\" t-attf-data-drop-near=\\"p, h1, h2, h3, ul, ol, .row &gt; div &gt; img, #{so_content_addition_selector}\\" data-drop-in=\\".content, nav\\"/>\\n\\n    <div data-js=\\"sizing_y\\" data-selector=\\".o_mail_snippet_general, .o_mail_snippet_general .row &gt; div\\" data-exclude=\\".o_mail_no_resize, .o_mail_no_options\\"/>\\n\\n    <div data-js=\\"sizing_x\\" data-selector=\\".row &gt; div\\" data-drop-near=\\".row:not(.s_col_no_resize) &gt; div\\" data-exclude=\\".o_mail_no_resize, .o_mail_no_options\\"/>\\n\\n    <div data-selector=\\".note-editable .oe_structure &gt; div:not(:has(&gt; .o_mail_snippet_general)),         .note-editable .oe_structure &gt; div.o_mail_snippet_general,         .note-editable .oe_structure &gt; div.o_mail_snippet_general .o_cc,         .note-editable .oe_structure &gt; div.o_mail_snippet_general .btn:not(.btn-link)\\" data-exclude=\\".o_mail_no_colorpicker, .o_mail_no_options, .s_mail_color_blocks_2, .s_mail_color_blocks_2 .row &gt; div\\">\\n        <we-colorpicker string=\\"Background Color\\" data-select-style=\\"true\\" data-no-transparency=\\"true\\" data-css-property=\\"background-color\\" data-color-prefix=\\"bg-\\"/>\\n    </div>\\n\\n    <div data-selector=\\".s_mail_color_blocks_2 .row &gt; div\\">\\n        <we-colorpicker string=\\"Background Color\\" data-select-style=\\"true\\" data-no-transparency=\\"true\\" data-css-property=\\"background-color\\" data-color-prefix=\\"bg-\\"/>\\n    </div>\\n    <!-- Allow customised padding-x on snippets -->\\n    <div data-selector=\\"[class*='col-lg-'], .s_discount2, .s_text_block, .s_media_list, .s_picture, .s_rating\\">\\n        <we-row string=\\"Padding ⭤\\">\\n            <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-left\\"/>\\n            <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-right\\"/>\\n        </we-row>\\n    </div>\\n\\n    <!-- Allow changing background images in Masonry and Cover -->\\n    <t t-call=\\"mass_mailing.snippet_options_background_options\\">\\n        <t t-set=\\"selector\\" t-value=\\"'.s_masonry_block .row &gt; div, .s_cover .oe_img_bg'\\"/>\\n        <t t-set=\\"with_images\\" t-value=\\"True\\"/>\\n        <t t-set=\\"with_videos\\" t-value=\\"false\\"/>\\n        <t t-set=\\"with_shapes\\" t-value=\\"false\\"/>\\n    </t>\\n\\n    <!-- COLOR | .s_three_columns | .s_comparisons | .s_event  -->\\n    <div data-js=\\"Box\\" data-selector=\\".s_three_columns .row &gt; div, .s_comparisons .row &gt; div, .s_mail_block_event .row &gt; div\\" data-target=\\".card-body\\">\\n        <we-colorpicker string=\\"Background Color\\" data-select-style=\\"true\\" data-no-transparency=\\"true\\" data-css-property=\\"background-color\\" data-color-prefix=\\"bg-\\"/>\\n    </div>\\n    <!-- BORDER | .s_three_columns | .s_comparisons | .s_event  -->\\n    <div data-js=\\"Box\\" data-selector=\\".s_three_columns .row &gt; div, .s_comparisons .row &gt; div, .s_mail_block_event .row &gt; div\\" data-target=\\".card\\">\\n        <t t-call=\\"mass_mailing.snippet_options_border_widgets\\">\\n            <t t-set=\\"so_rounded_no_dependencies\\" t-value=\\"True\\"/>\\n        </t>\\n    </div>\\n    <!-- COLOR, BORDER | .o_mail_block_discount2 -->\\n    <div data-js=\\"Box\\" data-selector=\\".o_mail_block_discount2\\" data-target=\\"table\\">\\n        <t t-call=\\"mass_mailing.snippet_options_border_widgets\\">\\n        </t>\\n    </div>\\n\\n    <!--  Vertical Alignment -->\\n    <div data-option-name=\\"vAlignment\\" id=\\"row_valign_snippet_option\\" data-selector=\\".s_text_image, .s_image_text, .s_three_columns, s_mail_block_event\\" data-target=\\".row\\">\\n        <we-button-group string=\\"Vert. Alignment\\" title=\\"Vertical Alignment\\">\\n            <we-button title=\\"Align Top\\" data-select-class=\\"align-items-start\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/align_top.svg\\"/>\\n            <we-button title=\\"Align Middle\\" data-select-class=\\"align-items-center\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/align_middle.svg\\"/>\\n            <we-button title=\\"Align Bottom\\" data-select-class=\\"align-items-end\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/align_bottom.svg\\"/>\\n            <we-button title=\\"Stretch to Equal Height\\" data-select-class=\\"align-items-stretch\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/align_stretch.svg\\"/>\\n        </we-button-group>\\n    </div>\\n\\n    <!-- DESIGN OPTIONS -->\\n    <div data-js=\\"DesignTab\\" data-selector=\\"design-options\\" data-no-check=\\"true\\">\\n        <!-- BODY WIDTH -->\\n        <we-button-group string=\\"Body Width\\" data-apply-to=\\".o_mail_wrapper\\" data-no-preview=\\"true\\">\\n            <we-button data-select-class=\\"o_mail_small\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/content_width_small.svg\\" title=\\"Small\\"/>\\n            <we-button data-select-class=\\"o_mail_regular\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/content_width_normal.svg\\" title=\\"Regular\\"/>\\n            <we-button data-select-class=\\"\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/content_width_full.svg\\" title=\\"Full\\"/>\\n        </we-button-group>\\n        <we-colorpicker string=\\"Background Color\\" data-apply-to=\\".o_layout, &gt; div:not(.o_layout)\\" data-select-style=\\"true\\" data-no-transparency=\\"true\\" data-css-property=\\"background-color\\" data-color-prefix=\\"bg-\\"/>\\n        <!-- HEADING 1 -->\\n        <we-row string=\\"Heading 1\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"h1\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"h1\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n        </we-row>\\n        <we-row string=\\"\\" class=\\"o_we_sublevel_1 o_short_title\\">\\n            <we-fontfamilypicker data-selector-text=\\"h1\\"/>\\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\\n            <we-button title=\\"Bold\\" class=\\"fa fa-fw fa-bold\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"bolder\\" data-selector-text=\\"h1\\" data-css-property=\\"font-weight\\"/>\\n            <we-button title=\\"Italic\\" class=\\"fa fa-fw fa-italic\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"italic\\" data-selector-text=\\"h1\\" data-css-property=\\"font-style\\"/>\\n            <we-button title=\\"Underline\\" class=\\"fa fa-fw fa-underline\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"underline\\" data-selector-text=\\"h1\\" data-css-property=\\"text-decoration-line\\"/>\\n        </we-row>\\n        <!-- HEADING 2 -->\\n        <we-row string=\\"Heading 2\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"h2\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"h2\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n        </we-row>\\n        <we-row string=\\"\\" class=\\"o_we_sublevel_1 o_short_title\\">\\n            <we-fontfamilypicker data-selector-text=\\"h2\\"/>\\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\\n            <we-button title=\\"Bold\\" class=\\"fa fa-fw fa-bold\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"bolder\\" data-selector-text=\\"h2\\" data-css-property=\\"font-weight\\"/>\\n            <we-button title=\\"Italic\\" class=\\"fa fa-fw fa-italic\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"italic\\" data-selector-text=\\"h2\\" data-css-property=\\"font-style\\"/>\\n            <we-button title=\\"Underline\\" class=\\"fa fa-fw fa-underline\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"underline\\" data-selector-text=\\"h2\\" data-css-property=\\"text-decoration-line\\"/>\\n        </we-row>\\n        <!-- HEADING 3 -->\\n        <we-row string=\\"Heading 3\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"h3\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"h3\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n        </we-row>\\n        <we-row string=\\"\\" class=\\"o_we_sublevel_1 o_short_title\\">\\n            <we-fontfamilypicker data-selector-text=\\"h3\\"/>\\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\\n            <we-button title=\\"Bold\\" class=\\"fa fa-fw fa-bold\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"bolder\\" data-selector-text=\\"h3\\" data-css-property=\\"font-weight\\"/>\\n            <we-button title=\\"Italic\\" class=\\"fa fa-fw fa-italic\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"italic\\" data-selector-text=\\"h3\\" data-css-property=\\"font-style\\"/>\\n            <we-button title=\\"Underline\\" class=\\"fa fa-fw fa-underline\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"underline\\" data-selector-text=\\"h3\\" data-css-property=\\"text-decoration-line\\"/>\\n        </we-row>\\n        <!-- TEXT -->\\n        <we-row string=\\"Text\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"p, p &gt; *, li, li &gt; *\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"p, p &gt; *, li, li &gt; *\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n        </we-row>\\n        <we-row string=\\"\\" class=\\"o_we_sublevel_1 o_short_title\\">\\n            <we-fontfamilypicker data-selector-text=\\"p, p &gt; *, li, li &gt; *\\"/>\\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\\n            <we-button title=\\"Bold\\" class=\\"fa fa-fw fa-bold\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"bolder\\" data-selector-text=\\"p, p &gt; *, li, li &gt; *\\" data-css-property=\\"font-weight\\"/>\\n            <we-button title=\\"Italic\\" class=\\"fa fa-fw fa-italic\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"italic\\" data-selector-text=\\"p, p &gt; *, li, li &gt; *\\" data-css-property=\\"font-style\\"/>\\n            <we-button title=\\"Underline\\" class=\\"fa fa-fw fa-underline\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"underline\\" data-selector-text=\\"p, p &gt; *, li, li &gt; *\\" data-css-property=\\"text-decoration-line\\"/>\\n        </we-row>\\n        <!-- LINKS -->\\n        <we-row string=\\"Links\\" class=\\"o_design_tab_title\\">\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"a:not(.btn), a.btn.btn-link\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n            <we-button title=\\"Underline\\" class=\\"fa fa-fw fa-underline\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"underline\\" data-selector-text=\\"a:not(.btn), a.btn.btn-link\\" data-css-property=\\"text-decoration-line\\"/>\\n        </we-row>\\n        <!-- PRIMARY BUTTONS -->\\n        <we-row string=\\"Primary Buttons\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"background-color\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"bg-\\"/>\\n        </we-row>\\n        <we-select string=\\"Size\\" class=\\"o_we_sublevel_1\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\">\\n            <we-button data-apply-button-size=\\"btn-sm\\">Small</we-button>\\n            <we-button data-apply-button-size=\\"btn-md\\">Medium</we-button>\\n            <we-button data-apply-button-size=\\"btn-lg\\">Large</we-button>\\n        </we-select>\\n        <we-row string=\\"Border\\" class=\\"o_we_sublevel_1\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"border-width\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-unit=\\"px\\"/>\\n            <we-select data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-css-property=\\"border-style\\">\\n                <we-button title=\\"Solid\\" data-customize-css-property=\\"solid\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: solid;\\"/>\\n                </we-button>\\n                <we-button title=\\"Dashed\\" data-customize-css-property=\\"dashed\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dashed;\\"/>\\n                </we-button>\\n                <we-button title=\\"Dotted\\" data-customize-css-property=\\"dotted\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dotted;\\"/>\\n                </we-button>\\n                <we-button title=\\"Double\\" data-customize-css-property=\\"double\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: double; border-left: none; border-right: none;\\"/>\\n                </we-button>\\n            </we-select>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"border-color\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"border-\\"/>\\n        </we-row>\\n        <!-- SECONDARY BUTTONS -->\\n        <we-row string=\\"Secondary Buttons\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"background-color\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"bg-\\"/>\\n        </we-row>\\n        <we-select string=\\"Size\\" class=\\"o_we_sublevel_1\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\">\\n            <we-button data-apply-button-size=\\"btn-sm\\">Small</we-button>\\n            <we-button data-apply-button-size=\\"btn-md\\">Medium</we-button>\\n            <we-button data-apply-button-size=\\"btn-lg\\">Large</we-button>\\n        </we-select>\\n        <we-row string=\\"Border\\" class=\\"o_we_sublevel_1\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"border-width\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-unit=\\"px\\"/>\\n            <we-select data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-css-property=\\"border-style\\">\\n                <we-button title=\\"Solid\\" data-customize-css-property=\\"solid\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: solid;\\"/>\\n                </we-button>\\n                <we-button title=\\"Dashed\\" data-customize-css-property=\\"dashed\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dashed;\\"/>\\n                </we-button>\\n                <we-button title=\\"Dotted\\" data-customize-css-property=\\"dotted\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dotted;\\"/>\\n                </we-button>\\n                <we-button title=\\"Double\\" data-customize-css-property=\\"double\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: double; border-left: none; border-right: none;\\"/>\\n                </we-button>\\n            </we-select>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"border-color\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"border-\\"/>\\n        </we-row>\\n        <!-- SEPARATORS -->\\n        <we-row string=\\"Separators\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"border-top-width\\" data-selector-text=\\"hr\\" data-unit=\\"px\\"/>\\n            <we-select data-selector-text=\\"hr\\" data-css-property=\\"border-top-style\\">\\n                <we-button title=\\"Solid\\" data-customize-css-property=\\"solid\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: solid;\\"/>\\n                </we-button>\\n                <we-button title=\\"Dashed\\" data-customize-css-property=\\"dashed\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dashed;\\"/>\\n                </we-button>\\n                <we-button title=\\"Dotted\\" data-customize-css-property=\\"dotted\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dotted;\\"/>\\n                </we-button>\\n                <we-button title=\\"Double\\" data-customize-css-property=\\"double\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: double; border-left: none; border-right: none;\\"/>\\n                </we-button>\\n            </we-select>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"border-top-color\\" data-selector-text=\\"hr\\" data-no-transparency=\\"true\\" data-color-prefix=\\"border-\\"/>\\n        </we-row>\\n        <we-select string=\\"Width\\" class=\\"o_we_sublevel_1\\" data-selector-text=\\"hr\\" data-css-property=\\"width\\">\\n            <we-button data-customize-css-property=\\"25%\\">25%</we-button>\\n            <we-button data-customize-css-property=\\"50%\\">50%</we-button>\\n            <we-button data-customize-css-property=\\"75%\\">75%</we-button>\\n            <we-button data-customize-css-property=\\"100%\\">100%</we-button>\\n        </we-select>\\n    </div>\\n\\n    </xpath>\\n<xpath expr=\\".\\" position=\\"attributes\\"><attribute name=\\"t-name\\">mass_mailing.snippet_options</attribute></xpath></data>", "vi_VN": "<data inherit_id=\\"web_editor.snippet_options\\" primary=\\"True\\">\\n    <!-- =================================================================== -->\\n    <!-- Modify generic snippet options                                      -->\\n    <!-- =================================================================== -->\\n\\n    <xpath expr=\\"//t[@t-set='no_animations']\\" position=\\"attributes\\">\\n        <attribute name=\\"t-value\\">True</attribute>\\n    </xpath>\\n\\n    <!-- Extra shapes -->\\n    <xpath expr=\\"//div[hasclass('o_we_image_shape')]//we-select-page[hasclass('o_we_basic_shapes')]\\" position=\\"inside\\">\\n        <we-button data-set-img-shape=\\"mass_mailing/basic/circle\\" data-select-label=\\"Circle\\"/>\\n        <we-button data-set-img-shape=\\"mass_mailing/basic/triangle\\" data-select-label=\\"Triangle\\"/>\\n        <we-button data-set-img-shape=\\"mass_mailing/basic/slanted\\" data-select-label=\\"Slanted\\"/>\\n    </xpath>\\n    <xpath expr=\\"//div[hasclass('o_we_image_shape')]//we-select-page[hasclass('o_we_basic_shapes')]\\" position=\\"attributes\\">\\n        <attribute name=\\"t-if\\">True</attribute>\\n    </xpath>\\n\\n    <!-- Image styles -->\\n    <!-- TODO review to only modify what's really necessary and potentially -->\\n    <!-- make the changes in web_editor directly so that website can benefit -->\\n    <!-- from it. -->\\n    <xpath expr=\\"//div[hasclass('o_we_image_options')]\\" position=\\"replace\\">\\n        <div data-selector=\\"span.fa, i.fa, img\\">\\n            <we-select string=\\"Căn chỉnh\\" data-state-to-first-class=\\"true\\">\\n                <we-button data-select-class=\\"float-start\\" title=\\"Căn trái\\">Trái</we-button>\\n                <we-button data-select-class=\\"mx-auto\\" title=\\"Căn giữa\\">Trung tâm</we-button>\\n                <we-button data-select-class=\\"float-end\\" title=\\"Căn phải\\">Phải</we-button>\\n            </we-select>\\n\\n            <t t-call=\\"mass_mailing.snippet_options_border_line_widgets\\">\\n                <t t-set=\\"label\\">Viền</t>\\n                <t t-set=\\"with_bs_class\\" t-value=\\"True\\"/>\\n            </t>\\n\\n            <we-input string=\\"Round Corners\\" data-select-style=\\"0\\" data-css-property=\\"border-radius\\" data-unit=\\"px\\" data-extra-class=\\"rounded\\" t-att-data-variable=\\"radius_variable\\"/>\\n\\n            <we-row string=\\"Phần đệm ⭤\\">\\n                <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-left\\"/>\\n                <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-right\\"/>\\n            </we-row>\\n            <we-row string=\\"Phần đệm ↕\\">\\n                <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-top\\"/>\\n                <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-bottom\\"/>\\n            </we-row>\\n        </div>\\n    </xpath>\\n\\n    <!-- Transform is _very_ badly supported in mail clients -->\\n    <xpath expr=\\"//we-button[@data-name='image_transform_opt']\\" position=\\"replace\\"/>\\n\\n    <xpath expr=\\"//div[@data-js='ImageTools']\\" position=\\"attributes\\">\\n        <attribute name=\\"data-js\\">MassMailingImageTools</attribute>\\n    </xpath>\\n\\n    <!-- =================================================================== -->\\n    <!-- Adding mass_mailing specific snippet options                        -->\\n    <!-- =================================================================== -->\\n\\n    <xpath expr=\\".\\" position=\\"inside\\">\\n\\n    <!-- Border | Columns -->\\n    <div data-js=\\"Box\\" data-selector=\\".row &gt; div\\" data-exclude=\\".o_mail_wrapper_td, .s_col_no_bgcolor, .s_col_no_bgcolor.row &gt; div, .s_image_gallery .row &gt; div\\">\\n        <t t-call=\\"mass_mailing.snippet_options_border_widgets\\"/>\\n    </div>\\n    <div data-js=\\"layout_column\\" data-selector=\\".o_mail_snippet_general\\" data-target=\\"&gt; *:has(&gt; .row:not(.s_nb_column_fixed)), &gt; .s_allow_columns\\">\\n        <we-select string=\\"Cột\\" data-no-preview=\\"true\\">\\n            <we-button data-select-count=\\"0\\" data-name=\\"zero_cols_opt\\">Không </we-button>\\n            <we-button data-select-count=\\"1\\">1</we-button>\\n            <we-button data-select-count=\\"2\\">2</we-button>\\n            <we-button data-select-count=\\"3\\">3</we-button>\\n            <we-button data-select-count=\\"4\\">4</we-button>\\n            <we-button data-select-count=\\"5\\">5</we-button>\\n            <we-button data-select-count=\\"6\\">6</we-button>\\n        </we-select>\\n    </div>\\n\\n    <!-- Move snippets around -->\\n    <div data-js=\\"SnippetMove\\" data-selector=\\".o_mail_snippet_general\\">\\n        <we-button class=\\"fa fa-fw fa-angle-up\\" data-move-snippet=\\"prev\\" data-no-preview=\\"true\\" data-name=\\"move_up_opt\\"/>\\n        <we-button class=\\"fa fa-fw fa-angle-down\\" data-move-snippet=\\"next\\" data-no-preview=\\"true\\" data-name=\\"move_down_opt\\"/>\\n    </div>\\n    <div data-js=\\"SnippetMove\\" data-selector=\\".row:not(.s_col_no_resize) &gt; div\\" data-exclude=\\".s_showcase .row &gt; div\\" data-name=\\"move_horizontally_opt\\">\\n        <we-button class=\\"fa fa-fw fa-angle-left\\" data-move-snippet=\\"prev\\" data-no-preview=\\"true\\" data-name=\\"move_left_opt\\"/>\\n        <we-button class=\\"fa fa-fw fa-angle-right\\" data-move-snippet=\\"next\\" data-no-preview=\\"true\\" data-name=\\"move_right_opt\\"/>\\n    </div>\\n\\n    <div id=\\"so_width\\" data-selector=\\".s_mail_alert .s_alert, .s_mail_blockquote, .s_mail_text_highlight\\">\\n        <we-select string=\\"Chiều rộng\\">\\n            <we-button data-select-class=\\"w-25\\">25%</we-button>\\n            <we-button data-select-class=\\"w-50\\">50%</we-button>\\n            <we-button data-select-class=\\"w-75\\">75%</we-button>\\n            <we-button data-select-class=\\"w-100\\" data-name=\\"so_width_100\\">100%</we-button>\\n        </we-select>\\n    </div>\\n\\n    <div id=\\"so_block_align\\" data-selector=\\".s_mail_alert .s_alert, .s_mail_blockquote, .s_mail_text_highlight\\">\\n        <we-button-group string=\\"Căn chỉnh\\" data-dependencies=\\"!so_width_100\\">\\n            <we-button class=\\"fa fa-fw fa-align-left\\" title=\\"Trái\\" data-select-class=\\"me-auto\\"/>\\n            <we-button class=\\"fa fa-fw fa-align-center\\" title=\\"Trung tâm\\" data-select-class=\\"mx-auto\\"/>\\n            <we-button class=\\"fa fa-fw fa-align-right\\" title=\\"Phải\\" data-select-class=\\"ms-auto\\"/>\\n        </we-button-group>\\n    </div>\\n    <!-- TODO there is no data-js associated to this but a data-option-name, -->\\n    <!-- somehow it acts as data-js... it will be reviewed in master. -->\\n    <div data-option-name=\\"minHeight\\" data-selector=\\".o_mail_snippet_general\\" data-exclude=\\".o_mail_snippet_general .row &gt; div *\\">\\n        <we-button-group string=\\"Chiều cao\\">\\n            <we-button data-name=\\"minheight_auto_opt\\" data-select-class=\\"\\" title=\\"Phù hợp với nội dung\\">Tự động</we-button>\\n            <we-button data-select-class=\\"o_height_400\\" title=\\"400px\\">50%</we-button>\\n            <we-button data-select-class=\\"o_height_800\\" title=\\"800px\\">100%</we-button>\\n        </we-button-group>\\n    </div>\\n    <div data-js=\\"mass_mailing_sizing_x\\" data-selector=\\"img, .mv, .col_mv, td, th\\" data-exclude=\\".o_mail_no_resize, .o_mail_no_options\\"/>\\n\\n    <div data-js=\\"table_row\\" data-selector=\\"tr:has(&gt; .row), tr:has(&gt; .col_mv)\\" data-exclude=\\".o_mail_no_options\\" data-drop-near=\\"tr:has(&gt; .row), tr:has(&gt; .col_mv)\\"/>\\n\\n    <div data-js=\\"table_column\\" data-selector=\\".col&gt;td, .col&gt;th\\" data-exclude=\\".o_mail_no_options\\" data-drop-near=\\".col&gt;td, .col&gt;th\\"/>\\n\\n    <div data-js=\\"table_column_mv\\" data-selector=\\".col_mv, td, th\\" data-exclude=\\".o_mail_no_options\\" data-drop-near=\\".col_mv, td, th\\"/>\\n\\n    <t t-set=\\"mailing_content_selector\\" t-translation=\\"off\\">.note-editable &gt; div:not(.o_layout), .note-editable .oe_structure &gt; div, .oe_snippet_body</t>\\n    <div data-js=\\"content\\" t-att-data-selector=\\"mailing_content_selector\\" data-exclude=\\".o_mail_no_options\\" data-drop-near=\\"[data-oe-field='body_html']:not(:has(.o_layout)) &gt; *, .oe_structure &gt; *\\" data-drop-in=\\"[data-oe-field='body_html']:not(:has(.o_layout)), .oe_structure\\"/>\\n\\n    <t t-set=\\"so_snippet_addition_selector\\" t-translation=\\"off\\">.o_mail_snippet_general</t>\\n    <div id=\\"so_snippet_addition\\" t-att-data-selector=\\"so_snippet_addition_selector\\" data-drop-in=\\":not(p).oe_structure:not(.oe_structure_solo), :not(.o_mega_menu):not(p)[data-oe-type=html], :not(p).oe_structure.oe_structure_solo:not(:has(&gt; section, &gt; div))\\"/>\\n\\n    <t t-set=\\"so_content_addition_selector\\" t-translation=\\"off\\">.s_mail_blockquote, .s_mail_alert, .s_rating, .s_hr, .s_mail_text_highlight</t>\\n    <div id=\\"so_content_addition\\" t-att-data-selector=\\"so_content_addition_selector\\" t-attf-data-drop-near=\\"p, h1, h2, h3, ul, ol, .row &gt; div &gt; img, #{so_content_addition_selector}\\" data-drop-in=\\".content, nav\\"/>\\n\\n    <div data-js=\\"sizing_y\\" data-selector=\\".o_mail_snippet_general, .o_mail_snippet_general .row &gt; div\\" data-exclude=\\".o_mail_no_resize, .o_mail_no_options\\"/>\\n\\n    <div data-js=\\"sizing_x\\" data-selector=\\".row &gt; div\\" data-drop-near=\\".row:not(.s_col_no_resize) &gt; div\\" data-exclude=\\".o_mail_no_resize, .o_mail_no_options\\"/>\\n\\n    <div data-selector=\\".note-editable .oe_structure &gt; div:not(:has(&gt; .o_mail_snippet_general)),         .note-editable .oe_structure &gt; div.o_mail_snippet_general,         .note-editable .oe_structure &gt; div.o_mail_snippet_general .o_cc,         .note-editable .oe_structure &gt; div.o_mail_snippet_general .btn:not(.btn-link)\\" data-exclude=\\".o_mail_no_colorpicker, .o_mail_no_options, .s_mail_color_blocks_2, .s_mail_color_blocks_2 .row &gt; div\\">\\n        <we-colorpicker string=\\"Màu nền\\" data-select-style=\\"true\\" data-no-transparency=\\"true\\" data-css-property=\\"background-color\\" data-color-prefix=\\"bg-\\"/>\\n    </div>\\n\\n    <div data-selector=\\".s_mail_color_blocks_2 .row &gt; div\\">\\n        <we-colorpicker string=\\"Màu nền\\" data-select-style=\\"true\\" data-no-transparency=\\"true\\" data-css-property=\\"background-color\\" data-color-prefix=\\"bg-\\"/>\\n    </div>\\n    <!-- Allow customised padding-x on snippets -->\\n    <div data-selector=\\"[class*='col-lg-'], .s_discount2, .s_text_block, .s_media_list, .s_picture, .s_rating\\">\\n        <we-row string=\\"Phần đệm ⭤\\">\\n            <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-left\\"/>\\n            <we-input data-select-style=\\"\\" data-unit=\\"px\\" data-css-property=\\"padding-right\\"/>\\n        </we-row>\\n    </div>\\n\\n    <!-- Allow changing background images in Masonry and Cover -->\\n    <t t-call=\\"mass_mailing.snippet_options_background_options\\">\\n        <t t-set=\\"selector\\" t-value=\\"'.s_masonry_block .row &gt; div, .s_cover .oe_img_bg'\\"/>\\n        <t t-set=\\"with_images\\" t-value=\\"True\\"/>\\n        <t t-set=\\"with_videos\\" t-value=\\"false\\"/>\\n        <t t-set=\\"with_shapes\\" t-value=\\"false\\"/>\\n    </t>\\n\\n    <!-- COLOR | .s_three_columns | .s_comparisons | .s_event  -->\\n    <div data-js=\\"Box\\" data-selector=\\".s_three_columns .row &gt; div, .s_comparisons .row &gt; div, .s_mail_block_event .row &gt; div\\" data-target=\\".card-body\\">\\n        <we-colorpicker string=\\"Màu nền\\" data-select-style=\\"true\\" data-no-transparency=\\"true\\" data-css-property=\\"background-color\\" data-color-prefix=\\"bg-\\"/>\\n    </div>\\n    <!-- BORDER | .s_three_columns | .s_comparisons | .s_event  -->\\n    <div data-js=\\"Box\\" data-selector=\\".s_three_columns .row &gt; div, .s_comparisons .row &gt; div, .s_mail_block_event .row &gt; div\\" data-target=\\".card\\">\\n        <t t-call=\\"mass_mailing.snippet_options_border_widgets\\">\\n            <t t-set=\\"so_rounded_no_dependencies\\" t-value=\\"True\\"/>\\n        </t>\\n    </div>\\n    <!-- COLOR, BORDER | .o_mail_block_discount2 -->\\n    <div data-js=\\"Box\\" data-selector=\\".o_mail_block_discount2\\" data-target=\\"table\\">\\n        <t t-call=\\"mass_mailing.snippet_options_border_widgets\\">\\n        </t>\\n    </div>\\n\\n    <!--  Vertical Alignment -->\\n    <div data-option-name=\\"vAlignment\\" id=\\"row_valign_snippet_option\\" data-selector=\\".s_text_image, .s_image_text, .s_three_columns, s_mail_block_event\\" data-target=\\".row\\">\\n        <we-button-group string=\\"Căn chỉnh dọc\\" title=\\"Căn chỉnh dọc\\">\\n            <we-button title=\\"Align Top\\" data-select-class=\\"align-items-start\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/align_top.svg\\"/>\\n            <we-button title=\\"Align Middle\\" data-select-class=\\"align-items-center\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/align_middle.svg\\"/>\\n            <we-button title=\\"Align Bottom\\" data-select-class=\\"align-items-end\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/align_bottom.svg\\"/>\\n            <we-button title=\\"Stretch to Equal Height\\" data-select-class=\\"align-items-stretch\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/align_stretch.svg\\"/>\\n        </we-button-group>\\n    </div>\\n\\n    <!-- DESIGN OPTIONS -->\\n    <div data-js=\\"DesignTab\\" data-selector=\\"design-options\\" data-no-check=\\"true\\">\\n        <!-- BODY WIDTH -->\\n        <we-button-group string=\\"Độ rộng thân\\" data-apply-to=\\".o_mail_wrapper\\" data-no-preview=\\"true\\">\\n            <we-button data-select-class=\\"o_mail_small\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/content_width_small.svg\\" title=\\"Nhỏ\\"/>\\n            <we-button data-select-class=\\"o_mail_regular\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/content_width_normal.svg\\" title=\\"Thông thường\\"/>\\n            <we-button data-select-class=\\"\\" data-img=\\"/mass_mailing/static/src/img/snippets_options/content_width_full.svg\\" title=\\"Đầy đủ\\"/>\\n        </we-button-group>\\n        <we-colorpicker string=\\"Màu nền\\" data-apply-to=\\".o_layout, &gt; div:not(.o_layout)\\" data-select-style=\\"true\\" data-no-transparency=\\"true\\" data-css-property=\\"background-color\\" data-color-prefix=\\"bg-\\"/>\\n        <!-- HEADING 1 -->\\n        <we-row string=\\"Heading 1\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"h1\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"h1\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n        </we-row>\\n        <we-row string=\\"\\" class=\\"o_we_sublevel_1 o_short_title\\">\\n            <we-fontfamilypicker data-selector-text=\\"h1\\"/>\\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\\n            <we-button title=\\"In Đậm\\" class=\\"fa fa-fw fa-bold\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"bolder\\" data-selector-text=\\"h1\\" data-css-property=\\"font-weight\\"/>\\n            <we-button title=\\"In nghiêng\\" class=\\"fa fa-fw fa-italic\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"italic\\" data-selector-text=\\"h1\\" data-css-property=\\"font-style\\"/>\\n            <we-button title=\\"Gạch chân\\" class=\\"fa fa-fw fa-underline\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"underline\\" data-selector-text=\\"h1\\" data-css-property=\\"text-decoration-line\\"/>\\n        </we-row>\\n        <!-- HEADING 2 -->\\n        <we-row string=\\"Heading 2\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"h2\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"h2\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n        </we-row>\\n        <we-row string=\\"\\" class=\\"o_we_sublevel_1 o_short_title\\">\\n            <we-fontfamilypicker data-selector-text=\\"h2\\"/>\\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\\n            <we-button title=\\"In Đậm\\" class=\\"fa fa-fw fa-bold\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"bolder\\" data-selector-text=\\"h2\\" data-css-property=\\"font-weight\\"/>\\n            <we-button title=\\"In nghiêng\\" class=\\"fa fa-fw fa-italic\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"italic\\" data-selector-text=\\"h2\\" data-css-property=\\"font-style\\"/>\\n            <we-button title=\\"Gạch chân\\" class=\\"fa fa-fw fa-underline\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"underline\\" data-selector-text=\\"h2\\" data-css-property=\\"text-decoration-line\\"/>\\n        </we-row>\\n        <!-- HEADING 3 -->\\n        <we-row string=\\"Heading 3\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"h3\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"h3\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n        </we-row>\\n        <we-row string=\\"\\" class=\\"o_we_sublevel_1 o_short_title\\">\\n            <we-fontfamilypicker data-selector-text=\\"h3\\"/>\\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\\n            <we-button title=\\"In Đậm\\" class=\\"fa fa-fw fa-bold\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"bolder\\" data-selector-text=\\"h3\\" data-css-property=\\"font-weight\\"/>\\n            <we-button title=\\"In nghiêng\\" class=\\"fa fa-fw fa-italic\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"italic\\" data-selector-text=\\"h3\\" data-css-property=\\"font-style\\"/>\\n            <we-button title=\\"Gạch chân\\" class=\\"fa fa-fw fa-underline\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"underline\\" data-selector-text=\\"h3\\" data-css-property=\\"text-decoration-line\\"/>\\n        </we-row>\\n        <!-- TEXT -->\\n        <we-row string=\\"Văn bản\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"p, p &gt; *, li, li &gt; *\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"p, p &gt; *, li, li &gt; *\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n        </we-row>\\n        <we-row string=\\"\\" class=\\"o_we_sublevel_1 o_short_title\\">\\n            <we-fontfamilypicker data-selector-text=\\"p, p &gt; *, li, li &gt; *\\"/>\\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\\n            <we-button title=\\"In Đậm\\" class=\\"fa fa-fw fa-bold\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"bolder\\" data-selector-text=\\"p, p &gt; *, li, li &gt; *\\" data-css-property=\\"font-weight\\"/>\\n            <we-button title=\\"In nghiêng\\" class=\\"fa fa-fw fa-italic\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"italic\\" data-selector-text=\\"p, p &gt; *, li, li &gt; *\\" data-css-property=\\"font-style\\"/>\\n            <we-button title=\\"Gạch chân\\" class=\\"fa fa-fw fa-underline\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"underline\\" data-selector-text=\\"p, p &gt; *, li, li &gt; *\\" data-css-property=\\"text-decoration-line\\"/>\\n        </we-row>\\n        <!-- LINKS -->\\n        <we-row string=\\"Liên kết\\" class=\\"o_design_tab_title\\">\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"a:not(.btn), a.btn.btn-link\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n            <we-button title=\\"Gạch chân\\" class=\\"fa fa-fw fa-underline\\" data-no-preview=\\"true\\" data-toggle=\\"true\\" data-customize-css-property=\\"underline\\" data-selector-text=\\"a:not(.btn), a.btn.btn-link\\" data-css-property=\\"text-decoration-line\\"/>\\n        </we-row>\\n        <!-- PRIMARY BUTTONS -->\\n        <we-row string=\\"Nút chính\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"background-color\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"bg-\\"/>\\n        </we-row>\\n        <we-select string=\\"Kích thước\\" class=\\"o_we_sublevel_1\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\">\\n            <we-button data-apply-button-size=\\"btn-sm\\">Nhỏ</we-button>\\n            <we-button data-apply-button-size=\\"btn-md\\">Kênh trung gian</we-button>\\n            <we-button data-apply-button-size=\\"btn-lg\\">Rộng</we-button>\\n        </we-select>\\n        <we-row string=\\"Viền\\" class=\\"o_we_sublevel_1\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"border-width\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-unit=\\"px\\"/>\\n            <we-select data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-css-property=\\"border-style\\">\\n                <we-button title=\\"Rắn\\" data-customize-css-property=\\"solid\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: solid;\\"/>\\n                </we-button>\\n                <we-button title=\\"Vượt qua\\" data-customize-css-property=\\"dashed\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dashed;\\"/>\\n                </we-button>\\n                <we-button title=\\"Say mê\\" data-customize-css-property=\\"dotted\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dotted;\\"/>\\n                </we-button>\\n                <we-button title=\\"Gấp đôi\\" data-customize-css-property=\\"double\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: double; border-left: none; border-right: none;\\"/>\\n                </we-button>\\n            </we-select>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"border-color\\" data-selector-text=\\"a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"border-\\"/>\\n        </we-row>\\n        <!-- SECONDARY BUTTONS -->\\n        <we-row string=\\"Nút phụ\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"font-size\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-unit=\\"px\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"color\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"text-\\"/>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"background-color\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"bg-\\"/>\\n        </we-row>\\n        <we-select string=\\"Kích thước\\" class=\\"o_we_sublevel_1\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\">\\n            <we-button data-apply-button-size=\\"btn-sm\\">Nhỏ</we-button>\\n            <we-button data-apply-button-size=\\"btn-md\\">Kênh trung gian</we-button>\\n            <we-button data-apply-button-size=\\"btn-lg\\">Rộng</we-button>\\n        </we-select>\\n        <we-row string=\\"Viền\\" class=\\"o_we_sublevel_1\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"border-width\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-unit=\\"px\\"/>\\n            <we-select data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-css-property=\\"border-style\\">\\n                <we-button title=\\"Rắn\\" data-customize-css-property=\\"solid\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: solid;\\"/>\\n                </we-button>\\n                <we-button title=\\"Vượt qua\\" data-customize-css-property=\\"dashed\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dashed;\\"/>\\n                </we-button>\\n                <we-button title=\\"Say mê\\" data-customize-css-property=\\"dotted\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dotted;\\"/>\\n                </we-button>\\n                <we-button title=\\"Gấp đôi\\" data-customize-css-property=\\"double\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: double; border-left: none; border-right: none;\\"/>\\n                </we-button>\\n            </we-select>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"border-color\\" data-selector-text=\\"a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary\\" data-no-transparency=\\"true\\" data-color-prefix=\\"border-\\"/>\\n        </we-row>\\n        <!-- SEPARATORS -->\\n        <we-row string=\\"Dấu phân cách\\" class=\\"o_design_tab_title\\">\\n            <we-input data-customize-css-property=\\"\\" data-css-property=\\"border-top-width\\" data-selector-text=\\"hr\\" data-unit=\\"px\\"/>\\n            <we-select data-selector-text=\\"hr\\" data-css-property=\\"border-top-style\\">\\n                <we-button title=\\"Rắn\\" data-customize-css-property=\\"solid\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: solid;\\"/>\\n                </we-button>\\n                <we-button title=\\"Vượt qua\\" data-customize-css-property=\\"dashed\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dashed;\\"/>\\n                </we-button>\\n                <we-button title=\\"Say mê\\" data-customize-css-property=\\"dotted\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: dotted;\\"/>\\n                </we-button>\\n                <we-button title=\\"Gấp đôi\\" data-customize-css-property=\\"double\\">\\n                    <div class=\\"o_we_fake_img_item o_we_border_preview\\" style=\\"border-style: double; border-left: none; border-right: none;\\"/>\\n                </we-button>\\n            </we-select>\\n            <we-colorpicker data-customize-css-property=\\"\\" data-css-property=\\"border-top-color\\" data-selector-text=\\"hr\\" data-no-transparency=\\"true\\" data-color-prefix=\\"border-\\"/>\\n        </we-row>\\n        <we-select string=\\"Chiều rộng\\" class=\\"o_we_sublevel_1\\" data-selector-text=\\"hr\\" data-css-property=\\"width\\">\\n            <we-button data-customize-css-property=\\"25%\\">25%</we-button>\\n            <we-button data-customize-css-property=\\"50%\\">50%</we-button>\\n            <we-button data-customize-css-property=\\"75%\\">75%</we-button>\\n            <we-button data-customize-css-property=\\"100%\\">100%</we-button>\\n        </we-select>\\n    </div>\\n\\n    </xpath>\\n<xpath expr=\\".\\" position=\\"attributes\\"><attribute name=\\"t-name\\">mass_mailing.snippet_options</attribute></xpath></data>"}	<?xml version="1.0"?>\n<data inherit_id="web_editor.snippet_options" primary="True">\n    <!-- =================================================================== -->\n    <!-- Modify generic snippet options                                      -->\n    <!-- =================================================================== -->\n\n    <xpath expr="//t[@t-set='no_animations']" position="attributes">\n        <attribute name="t-value">True</attribute>\n    </xpath>\n\n    <!-- Extra shapes -->\n    <xpath expr="//div[hasclass('o_we_image_shape')]//we-select-page[hasclass('o_we_basic_shapes')]" position="inside">\n        <we-button data-set-img-shape="mass_mailing/basic/circle" data-select-label="Circle"/>\n        <we-button data-set-img-shape="mass_mailing/basic/triangle" data-select-label="Triangle"/>\n        <we-button data-set-img-shape="mass_mailing/basic/slanted" data-select-label="Slanted"/>\n    </xpath>\n    <xpath expr="//div[hasclass('o_we_image_shape')]//we-select-page[hasclass('o_we_basic_shapes')]" position="attributes">\n        <attribute name="t-if">True</attribute>\n    </xpath>\n\n    <!-- Image styles -->\n    <!-- TODO review to only modify what's really necessary and potentially -->\n    <!-- make the changes in web_editor directly so that website can benefit -->\n    <!-- from it. -->\n    <xpath expr="//div[hasclass('o_we_image_options')]" position="replace">\n        <div data-selector="span.fa, i.fa, img">\n            <we-select string="Alignment" data-state-to-first-class="true">\n                <we-button data-select-class="float-start" title="Align Left">Left</we-button>\n                <we-button data-select-class="mx-auto" title="Align Center">Center</we-button>\n                <we-button data-select-class="float-end" title="Align Right">Right</we-button>\n            </we-select>\n\n            <t t-call="mass_mailing.snippet_options_border_line_widgets">\n                <t t-set="label">Border</t>\n                <t t-set="with_bs_class" t-value="True"/>\n            </t>\n\n            <we-input string="Round Corners" data-select-style="0" data-css-property="border-radius" data-unit="px" data-extra-class="rounded" t-att-data-variable="radius_variable"/>\n\n            <we-row string="Padding ⭤">\n                <we-input data-select-style="" data-unit="px" data-css-property="padding-left"/>\n                <we-input data-select-style="" data-unit="px" data-css-property="padding-right"/>\n            </we-row>\n            <we-row string="Padding ↕">\n                <we-input data-select-style="" data-unit="px" data-css-property="padding-top"/>\n                <we-input data-select-style="" data-unit="px" data-css-property="padding-bottom"/>\n            </we-row>\n        </div>\n    </xpath>\n\n    <!-- Transform is _very_ badly supported in mail clients -->\n    <xpath expr="//we-button[@data-name='image_transform_opt']" position="replace"/>\n\n    <xpath expr="//div[@data-js='ImageTools']" position="attributes">\n        <attribute name="data-js">MassMailingImageTools</attribute>\n    </xpath>\n\n    <!-- =================================================================== -->\n    <!-- Adding mass_mailing specific snippet options                        -->\n    <!-- =================================================================== -->\n\n    <xpath expr="." position="inside">\n\n    <!-- Border | Columns -->\n    <div data-js="Box" data-selector=".row &gt; div" data-exclude=".o_mail_wrapper_td, .s_col_no_bgcolor, .s_col_no_bgcolor.row &gt; div, .s_image_gallery .row &gt; div">\n        <t t-call="mass_mailing.snippet_options_border_widgets"/>\n    </div>\n    <div data-js="layout_column" data-selector=".o_mail_snippet_general" data-target="&gt; *:has(&gt; .row:not(.s_nb_column_fixed)), &gt; .s_allow_columns">\n        <we-select string="Columns" data-no-preview="true">\n            <we-button data-select-count="0" data-name="zero_cols_opt">None</we-button>\n            <we-button data-select-count="1">1</we-button>\n            <we-button data-select-count="2">2</we-button>\n            <we-button data-select-count="3">3</we-button>\n            <we-button data-select-count="4">4</we-button>\n            <we-button data-select-count="5">5</we-button>\n            <we-button data-select-count="6">6</we-button>\n        </we-select>\n    </div>\n\n    <!-- Move snippets around -->\n    <div data-js="SnippetMove" data-selector=".o_mail_snippet_general">\n        <we-button class="fa fa-fw fa-angle-up" data-move-snippet="prev" data-no-preview="true" data-name="move_up_opt"/>\n        <we-button class="fa fa-fw fa-angle-down" data-move-snippet="next" data-no-preview="true" data-name="move_down_opt"/>\n    </div>\n    <div data-js="SnippetMove" data-selector=".row:not(.s_col_no_resize) &gt; div" data-exclude=".s_showcase .row &gt; div" data-name="move_horizontally_opt">\n        <we-button class="fa fa-fw fa-angle-left" data-move-snippet="prev" data-no-preview="true" data-name="move_left_opt"/>\n        <we-button class="fa fa-fw fa-angle-right" data-move-snippet="next" data-no-preview="true" data-name="move_right_opt"/>\n    </div>\n\n    <div id="so_width" data-selector=".s_mail_alert .s_alert, .s_mail_blockquote, .s_mail_text_highlight">\n        <we-select string="Width">\n            <we-button data-select-class="w-25">25%</we-button>\n            <we-button data-select-class="w-50">50%</we-button>\n            <we-button data-select-class="w-75">75%</we-button>\n            <we-button data-select-class="w-100" data-name="so_width_100">100%</we-button>\n        </we-select>\n    </div>\n\n    <div id="so_block_align" data-selector=".s_mail_alert .s_alert, .s_mail_blockquote, .s_mail_text_highlight">\n        <we-button-group string="Alignment" data-dependencies="!so_width_100">\n            <we-button class="fa fa-fw fa-align-left" title="Left" data-select-class="me-auto"/>\n            <we-button class="fa fa-fw fa-align-center" title="Center" data-select-class="mx-auto"/>\n            <we-button class="fa fa-fw fa-align-right" title="Right" data-select-class="ms-auto"/>\n        </we-button-group>\n    </div>\n    <!-- TODO there is no data-js associated to this but a data-option-name, -->\n    <!-- somehow it acts as data-js... it will be reviewed in master. -->\n    <div data-option-name="minHeight" data-selector=".o_mail_snippet_general" data-exclude=".o_mail_snippet_general .row &gt; div *">\n        <we-button-group string="Height">\n            <we-button data-name="minheight_auto_opt" data-select-class="" title="Fit content">Auto</we-button>\n            <we-button data-select-class="o_height_400" title="400px">50%</we-button>\n            <we-button data-select-class="o_height_800" title="800px">100%</we-button>\n        </we-button-group>\n    </div>\n    <div data-js="mass_mailing_sizing_x" data-selector="img, .mv, .col_mv, td, th" data-exclude=".o_mail_no_resize, .o_mail_no_options"/>\n\n    <div data-js="table_row" data-selector="tr:has(&gt; .row), tr:has(&gt; .col_mv)" data-exclude=".o_mail_no_options" data-drop-near="tr:has(&gt; .row), tr:has(&gt; .col_mv)"/>\n\n    <div data-js="table_column" data-selector=".col&gt;td, .col&gt;th" data-exclude=".o_mail_no_options" data-drop-near=".col&gt;td, .col&gt;th"/>\n\n    <div data-js="table_column_mv" data-selector=".col_mv, td, th" data-exclude=".o_mail_no_options" data-drop-near=".col_mv, td, th"/>\n\n    <t t-set="mailing_content_selector" t-translation="off">.note-editable &gt; div:not(.o_layout), .note-editable .oe_structure &gt; div, .oe_snippet_body</t>\n    <div data-js="content" t-att-data-selector="mailing_content_selector" data-exclude=".o_mail_no_options" data-drop-near="[data-oe-field='body_html']:not(:has(.o_layout)) &gt; *, .oe_structure &gt; *" data-drop-in="[data-oe-field='body_html']:not(:has(.o_layout)), .oe_structure"/>\n\n    <t t-set="so_snippet_addition_selector" t-translation="off">.o_mail_snippet_general</t>\n    <div id="so_snippet_addition" t-att-data-selector="so_snippet_addition_selector" data-drop-in=":not(p).oe_structure:not(.oe_structure_solo), :not(.o_mega_menu):not(p)[data-oe-type=html], :not(p).oe_structure.oe_structure_solo:not(:has(&gt; section, &gt; div))"/>\n\n    <t t-set="so_content_addition_selector" t-translation="off">.s_mail_blockquote, .s_mail_alert, .s_rating, .s_hr, .s_mail_text_highlight</t>\n    <div id="so_content_addition" t-att-data-selector="so_content_addition_selector" t-attf-data-drop-near="p, h1, h2, h3, ul, ol, .row &gt; div &gt; img, #{so_content_addition_selector}" data-drop-in=".content, nav"/>\n\n    <div data-js="sizing_y" data-selector=".o_mail_snippet_general, .o_mail_snippet_general .row &gt; div" data-exclude=".o_mail_no_resize, .o_mail_no_options"/>\n\n    <div data-js="sizing_x" data-selector=".row &gt; div" data-drop-near=".row:not(.s_col_no_resize) &gt; div" data-exclude=".o_mail_no_resize, .o_mail_no_options"/>\n\n    <div data-selector=".note-editable .oe_structure &gt; div:not(:has(&gt; .o_mail_snippet_general)),         .note-editable .oe_structure &gt; div.o_mail_snippet_general,         .note-editable .oe_structure &gt; div.o_mail_snippet_general .o_cc,         .note-editable .oe_structure &gt; div.o_mail_snippet_general .btn:not(.btn-link)" data-exclude=".o_mail_no_colorpicker, .o_mail_no_options, .s_mail_color_blocks_2, .s_mail_color_blocks_2 .row &gt; div">\n        <we-colorpicker string="Background Color" data-select-style="true" data-no-transparency="true" data-css-property="background-color" data-color-prefix="bg-"/>\n    </div>\n\n    <div data-selector=".s_mail_color_blocks_2 .row &gt; div">\n        <we-colorpicker string="Background Color" data-select-style="true" data-no-transparency="true" data-css-property="background-color" data-color-prefix="bg-"/>\n    </div>\n    <!-- Allow customised padding-x on snippets -->\n    <div data-selector="[class*='col-lg-'], .s_discount2, .s_text_block, .s_media_list, .s_picture, .s_rating">\n        <we-row string="Padding ⭤">\n            <we-input data-select-style="" data-unit="px" data-css-property="padding-left"/>\n            <we-input data-select-style="" data-unit="px" data-css-property="padding-right"/>\n        </we-row>\n    </div>\n\n    <!-- Allow changing background images in Masonry and Cover -->\n    <t t-call="mass_mailing.snippet_options_background_options">\n        <t t-set="selector" t-value="'.s_masonry_block .row &gt; div, .s_cover .oe_img_bg'"/>\n        <t t-set="with_images" t-value="True"/>\n        <t t-set="with_videos" t-value="false"/>\n        <t t-set="with_shapes" t-value="false"/>\n    </t>\n\n    <!-- COLOR | .s_three_columns | .s_comparisons | .s_event  -->\n    <div data-js="Box" data-selector=".s_three_columns .row &gt; div, .s_comparisons .row &gt; div, .s_mail_block_event .row &gt; div" data-target=".card-body">\n        <we-colorpicker string="Background Color" data-select-style="true" data-no-transparency="true" data-css-property="background-color" data-color-prefix="bg-"/>\n    </div>\n    <!-- BORDER | .s_three_columns | .s_comparisons | .s_event  -->\n    <div data-js="Box" data-selector=".s_three_columns .row &gt; div, .s_comparisons .row &gt; div, .s_mail_block_event .row &gt; div" data-target=".card">\n        <t t-call="mass_mailing.snippet_options_border_widgets">\n            <t t-set="so_rounded_no_dependencies" t-value="True"/>\n        </t>\n    </div>\n    <!-- COLOR, BORDER | .o_mail_block_discount2 -->\n    <div data-js="Box" data-selector=".o_mail_block_discount2" data-target="table">\n        <t t-call="mass_mailing.snippet_options_border_widgets">\n        </t>\n    </div>\n\n    <!--  Vertical Alignment -->\n    <div data-option-name="vAlignment" id="row_valign_snippet_option" data-selector=".s_text_image, .s_image_text, .s_three_columns, s_mail_block_event" data-target=".row">\n        <we-button-group string="Vert. Alignment" title="Vertical Alignment">\n            <we-button title="Align Top" data-select-class="align-items-start" data-img="/mass_mailing/static/src/img/snippets_options/align_top.svg"/>\n            <we-button title="Align Middle" data-select-class="align-items-center" data-img="/mass_mailing/static/src/img/snippets_options/align_middle.svg"/>\n            <we-button title="Align Bottom" data-select-class="align-items-end" data-img="/mass_mailing/static/src/img/snippets_options/align_bottom.svg"/>\n            <we-button title="Stretch to Equal Height" data-select-class="align-items-stretch" data-img="/mass_mailing/static/src/img/snippets_options/align_stretch.svg"/>\n        </we-button-group>\n    </div>\n\n    <!-- DESIGN OPTIONS -->\n    <div data-js="DesignTab" data-selector="design-options" data-no-check="true">\n        <!-- BODY WIDTH -->\n        <we-button-group string="Body Width" data-apply-to=".o_mail_wrapper" data-no-preview="true">\n            <we-button data-select-class="o_mail_small" data-img="/mass_mailing/static/src/img/snippets_options/content_width_small.svg" title="Small"/>\n            <we-button data-select-class="o_mail_regular" data-img="/mass_mailing/static/src/img/snippets_options/content_width_normal.svg" title="Regular"/>\n            <we-button data-select-class="" data-img="/mass_mailing/static/src/img/snippets_options/content_width_full.svg" title="Full"/>\n        </we-button-group>\n        <we-colorpicker string="Background Color" data-apply-to=".o_layout, &gt; div:not(.o_layout)" data-select-style="true" data-no-transparency="true" data-css-property="background-color" data-color-prefix="bg-"/>\n        <!-- HEADING 1 -->\n        <we-row string="Heading 1" class="o_design_tab_title">\n            <we-input data-customize-css-property="" data-css-property="font-size" data-selector-text="h1" data-unit="px"/>\n            <we-colorpicker data-customize-css-property="" data-css-property="color" data-selector-text="h1" data-no-transparency="true" data-color-prefix="text-"/>\n        </we-row>\n        <we-row string="" class="o_we_sublevel_1 o_short_title">\n            <we-fontfamilypicker data-selector-text="h1"/>\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\n            <we-button title="Bold" class="fa fa-fw fa-bold" data-no-preview="true" data-toggle="true" data-customize-css-property="bolder" data-selector-text="h1" data-css-property="font-weight"/>\n            <we-button title="Italic" class="fa fa-fw fa-italic" data-no-preview="true" data-toggle="true" data-customize-css-property="italic" data-selector-text="h1" data-css-property="font-style"/>\n            <we-button title="Underline" class="fa fa-fw fa-underline" data-no-preview="true" data-toggle="true" data-customize-css-property="underline" data-selector-text="h1" data-css-property="text-decoration-line"/>\n        </we-row>\n        <!-- HEADING 2 -->\n        <we-row string="Heading 2" class="o_design_tab_title">\n            <we-input data-customize-css-property="" data-css-property="font-size" data-selector-text="h2" data-unit="px"/>\n            <we-colorpicker data-customize-css-property="" data-css-property="color" data-selector-text="h2" data-no-transparency="true" data-color-prefix="text-"/>\n        </we-row>\n        <we-row string="" class="o_we_sublevel_1 o_short_title">\n            <we-fontfamilypicker data-selector-text="h2"/>\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\n            <we-button title="Bold" class="fa fa-fw fa-bold" data-no-preview="true" data-toggle="true" data-customize-css-property="bolder" data-selector-text="h2" data-css-property="font-weight"/>\n            <we-button title="Italic" class="fa fa-fw fa-italic" data-no-preview="true" data-toggle="true" data-customize-css-property="italic" data-selector-text="h2" data-css-property="font-style"/>\n            <we-button title="Underline" class="fa fa-fw fa-underline" data-no-preview="true" data-toggle="true" data-customize-css-property="underline" data-selector-text="h2" data-css-property="text-decoration-line"/>\n        </we-row>\n        <!-- HEADING 3 -->\n        <we-row string="Heading 3" class="o_design_tab_title">\n            <we-input data-customize-css-property="" data-css-property="font-size" data-selector-text="h3" data-unit="px"/>\n            <we-colorpicker data-customize-css-property="" data-css-property="color" data-selector-text="h3" data-no-transparency="true" data-color-prefix="text-"/>\n        </we-row>\n        <we-row string="" class="o_we_sublevel_1 o_short_title">\n            <we-fontfamilypicker data-selector-text="h3"/>\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\n            <we-button title="Bold" class="fa fa-fw fa-bold" data-no-preview="true" data-toggle="true" data-customize-css-property="bolder" data-selector-text="h3" data-css-property="font-weight"/>\n            <we-button title="Italic" class="fa fa-fw fa-italic" data-no-preview="true" data-toggle="true" data-customize-css-property="italic" data-selector-text="h3" data-css-property="font-style"/>\n            <we-button title="Underline" class="fa fa-fw fa-underline" data-no-preview="true" data-toggle="true" data-customize-css-property="underline" data-selector-text="h3" data-css-property="text-decoration-line"/>\n        </we-row>\n        <!-- TEXT -->\n        <we-row string="Text" class="o_design_tab_title">\n            <we-input data-customize-css-property="" data-css-property="font-size" data-selector-text="p, p &gt; *, li, li &gt; *" data-unit="px"/>\n            <we-colorpicker data-customize-css-property="" data-css-property="color" data-selector-text="p, p &gt; *, li, li &gt; *" data-no-transparency="true" data-color-prefix="text-"/>\n        </we-row>\n        <we-row string="" class="o_we_sublevel_1 o_short_title">\n            <we-fontfamilypicker data-selector-text="p, p &gt; *, li, li &gt; *"/>\n            <span>​</span> <!-- Separate the select from the buttons (styling) -->\n            <we-button title="Bold" class="fa fa-fw fa-bold" data-no-preview="true" data-toggle="true" data-customize-css-property="bolder" data-selector-text="p, p &gt; *, li, li &gt; *" data-css-property="font-weight"/>\n            <we-button title="Italic" class="fa fa-fw fa-italic" data-no-preview="true" data-toggle="true" data-customize-css-property="italic" data-selector-text="p, p &gt; *, li, li &gt; *" data-css-property="font-style"/>\n            <we-button title="Underline" class="fa fa-fw fa-underline" data-no-preview="true" data-toggle="true" data-customize-css-property="underline" data-selector-text="p, p &gt; *, li, li &gt; *" data-css-property="text-decoration-line"/>\n        </we-row>\n        <!-- LINKS -->\n        <we-row string="Links" class="o_design_tab_title">\n            <we-colorpicker data-customize-css-property="" data-css-property="color" data-selector-text="a:not(.btn), a.btn.btn-link" data-no-transparency="true" data-color-prefix="text-"/>\n            <we-button title="Underline" class="fa fa-fw fa-underline" data-no-preview="true" data-toggle="true" data-customize-css-property="underline" data-selector-text="a:not(.btn), a.btn.btn-link" data-css-property="text-decoration-line"/>\n        </we-row>\n        <!-- PRIMARY BUTTONS -->\n        <we-row string="Primary Buttons" class="o_design_tab_title">\n            <we-input data-customize-css-property="" data-css-property="font-size" data-selector-text="a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary" data-unit="px"/>\n            <we-colorpicker data-customize-css-property="" data-css-property="color" data-selector-text="a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary" data-no-transparency="true" data-color-prefix="text-"/>\n            <we-colorpicker data-customize-css-property="" data-css-property="background-color" data-selector-text="a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary" data-no-transparency="true" data-color-prefix="bg-"/>\n        </we-row>\n        <we-select string="Size" class="o_we_sublevel_1" data-selector-text="a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary">\n            <we-button data-apply-button-size="btn-sm">Small</we-button>\n            <we-button data-apply-button-size="btn-md">Medium</we-button>\n            <we-button data-apply-button-size="btn-lg">Large</we-button>\n        </we-select>\n        <we-row string="Border" class="o_we_sublevel_1">\n            <we-input data-customize-css-property="" data-css-property="border-width" data-selector-text="a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary" data-unit="px"/>\n            <we-select data-selector-text="a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary" data-css-property="border-style">\n                <we-button title="Solid" data-customize-css-property="solid">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: solid;"/>\n                </we-button>\n                <we-button title="Dashed" data-customize-css-property="dashed">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: dashed;"/>\n                </we-button>\n                <we-button title="Dotted" data-customize-css-property="dotted">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: dotted;"/>\n                </we-button>\n                <we-button title="Double" data-customize-css-property="double">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: double; border-left: none; border-right: none;"/>\n                </we-button>\n            </we-select>\n            <we-colorpicker data-customize-css-property="" data-css-property="border-color" data-selector-text="a.btn.btn-primary, a.btn.btn-outline-primary, a.btn.btn-fill-primary" data-no-transparency="true" data-color-prefix="border-"/>\n        </we-row>\n        <!-- SECONDARY BUTTONS -->\n        <we-row string="Secondary Buttons" class="o_design_tab_title">\n            <we-input data-customize-css-property="" data-css-property="font-size" data-selector-text="a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary" data-unit="px"/>\n            <we-colorpicker data-customize-css-property="" data-css-property="color" data-selector-text="a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary" data-no-transparency="true" data-color-prefix="text-"/>\n            <we-colorpicker data-customize-css-property="" data-css-property="background-color" data-selector-text="a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary" data-no-transparency="true" data-color-prefix="bg-"/>\n        </we-row>\n        <we-select string="Size" class="o_we_sublevel_1" data-selector-text="a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary">\n            <we-button data-apply-button-size="btn-sm">Small</we-button>\n            <we-button data-apply-button-size="btn-md">Medium</we-button>\n            <we-button data-apply-button-size="btn-lg">Large</we-button>\n        </we-select>\n        <we-row string="Border" class="o_we_sublevel_1">\n            <we-input data-customize-css-property="" data-css-property="border-width" data-selector-text="a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary" data-unit="px"/>\n            <we-select data-selector-text="a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary" data-css-property="border-style">\n                <we-button title="Solid" data-customize-css-property="solid">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: solid;"/>\n                </we-button>\n                <we-button title="Dashed" data-customize-css-property="dashed">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: dashed;"/>\n                </we-button>\n                <we-button title="Dotted" data-customize-css-property="dotted">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: dotted;"/>\n                </we-button>\n                <we-button title="Double" data-customize-css-property="double">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: double; border-left: none; border-right: none;"/>\n                </we-button>\n            </we-select>\n            <we-colorpicker data-customize-css-property="" data-css-property="border-color" data-selector-text="a.btn.btn-secondary, a.btn.btn-outline-secondary, a.btn.btn-fill-secondary" data-no-transparency="true" data-color-prefix="border-"/>\n        </we-row>\n        <!-- SEPARATORS -->\n        <we-row string="Separators" class="o_design_tab_title">\n            <we-input data-customize-css-property="" data-css-property="border-top-width" data-selector-text="hr" data-unit="px"/>\n            <we-select data-selector-text="hr" data-css-property="border-top-style">\n                <we-button title="Solid" data-customize-css-property="solid">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: solid;"/>\n                </we-button>\n                <we-button title="Dashed" data-customize-css-property="dashed">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: dashed;"/>\n                </we-button>\n                <we-button title="Dotted" data-customize-css-property="dotted">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: dotted;"/>\n                </we-button>\n                <we-button title="Double" data-customize-css-property="double">\n                    <div class="o_we_fake_img_item o_we_border_preview" style="border-style: double; border-left: none; border-right: none;"/>\n                </we-button>\n            </we-select>\n            <we-colorpicker data-customize-css-property="" data-css-property="border-top-color" data-selector-text="hr" data-no-transparency="true" data-color-prefix="border-"/>\n        </we-row>\n        <we-select string="Width" class="o_we_sublevel_1" data-selector-text="hr" data-css-property="width">\n            <we-button data-customize-css-property="25%">25%</we-button>\n            <we-button data-customize-css-property="50%">50%</we-button>\n            <we-button data-customize-css-property="75%">75%</we-button>\n            <we-button data-customize-css-property="100%">100%</we-button>\n        </we-select>\n    </div>\n\n    </xpath>\n<xpath expr="." position="attributes"><attribute name="t-name">mass_mailing.snippet_options</attribute></xpath></data>\n\n	f	t	2025-06-18 15:59:06.262166	2025-06-18 15:59:06.262166	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
266	16	\N	1	1	utm.medium.view.form	utm.medium	\N	form	utm/views/utm_medium_views.xml	\N	primary	{"en_US": "<form string=\\"Medium\\">\\n                <sheet>\\n                    <group>\\n                        <field name=\\"name\\"/>\\n                        <field name=\\"active\\" widget=\\"boolean_toggle\\"/>\\n                    </group>\\n                </sheet>\\n            </form>", "vi_VN": "<form string=\\"Kênh trung gian\\">\\n                <sheet>\\n                    <group>\\n                        <field name=\\"name\\"/>\\n                        <field name=\\"active\\" widget=\\"boolean_toggle\\"/>\\n                    </group>\\n                </sheet>\\n            </form>"}	<?xml version="1.0"?>\n<form string="Medium">\n                <sheet>\n                    <group>\n                        <field name="name"/>\n                        <field name="active" widget="boolean_toggle"/>\n                    </group>\n                </sheet>\n            </form>\n        	f	t	2025-06-18 15:58:04.580268	2025-06-18 15:58:04.580268	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1597	16	\N	1	1	Dynamic Snippet	\N	website.s_dynamic_snippet	qweb	website/views/snippets/s_dynamic_snippet.xml	\N	primary	{"en_US": "<t name=\\"Dynamic Snippet\\" t-name=\\"website.s_dynamic_snippet\\">\\n        <t t-call=\\"website.s_dynamic_snippet_template\\">\\n            <t t-set=\\"snippet_name\\" t-value=\\"'s_dynamic_snippet'\\"/>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Dynamic Snippet" t-name="website.s_dynamic_snippet">\n        <t t-call="website.s_dynamic_snippet_template">\n            <t t-set="snippet_name" t-value="'s_dynamic_snippet'"/>\n        </t>\n    </t>\n    	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
267	16	\N	1	1	utm.medium.view.search	utm.medium	\N	search	utm/views/utm_medium_views.xml	\N	primary	{"en_US": "<search string=\\"Search UTM Medium\\">\\n                <field name=\\"name\\"/>\\n                <separator/>\\n                <filter string=\\"Archived\\" name=\\"inactive\\" domain=\\"[('active', '=', False)]\\"/>\\n            </search>", "vi_VN": "<search string=\\"Search UTM Medium\\">\\n                <field name=\\"name\\"/>\\n                <separator/>\\n                <filter string=\\"Đã lưu\\" name=\\"inactive\\" domain=\\"[('active', '=', False)]\\"/>\\n            </search>"}	<?xml version="1.0"?>\n<search string="Search UTM Medium">\n                <field name="name"/>\n                <separator/>\n                <filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>\n            </search>\n        	f	t	2025-06-18 15:58:04.580268	2025-06-18 15:58:04.580268	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
269	16	\N	1	1	utm.source.view.form	utm.source	\N	form	utm/views/utm_source_views.xml	\N	primary	{"en_US": "<form string=\\"Source\\">\\n                <sheet>\\n                    <group>\\n                        <field name=\\"name\\"/>\\n                    </group>\\n                </sheet>\\n            </form>", "vi_VN": "<form string=\\"Nguồn\\">\\n                <sheet>\\n                    <group>\\n                        <field name=\\"name\\"/>\\n                    </group>\\n                </sheet>\\n            </form>"}	<?xml version="1.0"?>\n<form string="Source">\n                <sheet>\n                    <group>\n                        <field name="name"/>\n                    </group>\n                </sheet>\n            </form>\n        	f	t	2025-06-18 15:58:04.580268	2025-06-18 15:58:04.580268	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
270	16	\N	1	1	utm.stage.view.search	utm.stage	\N	search	utm/views/utm_stage_views.xml	\N	primary	{"en_US": "<search string=\\"Stages\\">\\n                <field name=\\"name\\"/>\\n            </search>", "vi_VN": "<search string=\\"Giai đoạn\\">\\n                <field name=\\"name\\"/>\\n            </search>"}	<?xml version="1.0"?>\n<search string="Stages">\n                <field name="name"/>\n            </search>\n        	f	t	2025-06-18 15:58:04.580268	2025-06-18 15:58:04.580268	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
271	10	\N	1	1	utm.stage.view.tree	utm.stage	\N	tree	utm/views/utm_stage_views.xml	\N	primary	{"en_US": "<tree string=\\"Stages\\" editable=\\"top\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"name\\"/>\\n            </tree>", "vi_VN": "<tree string=\\"Giai đoạn\\" editable=\\"top\\">\\n                <field name=\\"sequence\\" widget=\\"handle\\"/>\\n                <field name=\\"name\\"/>\\n            </tree>"}	<?xml version="1.0"?>\n<tree string="Stages" editable="top">\n                <field name="sequence" widget="handle"/>\n                <field name="name"/>\n            </tree>\n        	f	t	2025-06-18 15:58:04.580268	2025-06-18 15:58:04.580268	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
272	16	\N	1	1	utm.tag.view.tree	utm.tag	\N	tree	utm/views/utm_tag_views.xml	\N	primary	{"en_US": "<tree string=\\"Campaign Tags\\" editable=\\"top\\">\\n                <field name=\\"name\\"/>\\n            </tree>", "vi_VN": "<tree string=\\"Thẻ chiến dịch\\" editable=\\"top\\">\\n                <field name=\\"name\\"/>\\n            </tree>"}	<?xml version="1.0"?>\n<tree string="Campaign Tags" editable="top">\n                <field name="name"/>\n            </tree>\n        	f	t	2025-06-18 15:58:04.580268	2025-06-18 15:58:04.580268	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
181	16	180	1	1	Frontend Layout	\N	web.frontend_layout	qweb	web/views/webclient_templates.xml	\N	primary	{"en_US": "<data name=\\"Frontend Layout\\" inherit_id=\\"web.layout\\" primary=\\"True\\">\\n      <xpath expr=\\"//head/meta[last()]\\" position=\\"after\\">\\n        <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1\\"/>\\n      </xpath>\\n      <xpath expr=\\"//head/link[last()]\\" position=\\"after\\">\\n        <link rel=\\"preload\\" href=\\"/web/static/src/libs/fontawesome/fonts/fontawesome-webfont.woff2?v=4.7.0\\" as=\\"font\\" crossorigin=\\"\\"/>\\n        <t t-call-assets=\\"web.assets_frontend\\" t-js=\\"false\\"/>\\n      </xpath>\\n      <xpath expr=\\"//head/script[@id='web.layout.odooscript']\\" position=\\"after\\">\\n        <script t-nocache=\\"Session information should always be up to date.\\" type=\\"text/javascript\\">\\n            odoo.__session_info__ = <t t-out=\\"json.dumps(request.env['ir.http'].get_frontend_session_info())\\"/>;\\n            if (!/(^|;\\\\s)tz=/.test(document.cookie)) {\\n                const userTZ = Intl.DateTimeFormat().resolvedOptions().timeZone;\\n                document.cookie = `tz=${userTZ}; path=/`;\\n            }\\n        </script>\\n        <t t-call-assets=\\"web.assets_frontend_minimal\\" t-css=\\"false\\" defer_load=\\"True\\"/>\\n        <t t-call=\\"web.conditional_assets_tests\\"/>\\n        <t t-call-assets=\\"web.assets_frontend_lazy\\" t-css=\\"false\\" lazy_load=\\"True\\"/>\\n      </xpath>\\n        <xpath expr=\\"//t[@t-out='0']\\" position=\\"replace\\">\\n            <div id=\\"wrapwrap\\" t-attf-class=\\"#{pageName or ''}\\">\\n                <header t-if=\\"not no_header\\" id=\\"top\\" data-anchor=\\"true\\">\\n                    <img class=\\"img-responsive d-block mx-auto\\" t-attf-src=\\"/web/binary/company_logo\\" alt=\\"Logo\\"/>\\n                </header>\\n                <main>\\n                    <t t-out=\\"0\\"/>\\n                </main>\\n                <footer t-cache=\\"no_footer,no_copyright\\" t-if=\\"not no_footer\\" id=\\"bottom\\" data-anchor=\\"true\\" t-attf-class=\\"bg-light o_footer\\">\\n                    <div id=\\"footer\\"/>\\n                    <div t-if=\\"not no_copyright\\" class=\\"o_footer_copyright\\">\\n                        <div class=\\"container py-3\\">\\n                            <div class=\\"row\\">\\n                                <div class=\\"col-sm text-center text-sm-start text-muted\\">\\n                                    <span class=\\"o_footer_copyright_name me-2\\">Copyright &amp;copy; <span t-field=\\"res_company.name\\" itemprop=\\"name\\">Company name</span></span>\\n                                </div>\\n                                <div class=\\"col-sm text-center text-sm-end\\">\\n                                    <t t-call=\\"web.brand_promotion\\"/>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </footer>\\n            </div>\\n        </xpath>\\n    <xpath expr=\\".\\" position=\\"attributes\\"><attribute name=\\"t-name\\">web.frontend_layout</attribute></xpath></data>", "vi_VN": "<data name=\\"Frontend Layout\\" inherit_id=\\"web.layout\\" primary=\\"True\\">\\n      <xpath expr=\\"//head/meta[last()]\\" position=\\"after\\">\\n        <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1\\"/>\\n      </xpath>\\n      <xpath expr=\\"//head/link[last()]\\" position=\\"after\\">\\n        <link rel=\\"preload\\" href=\\"/web/static/src/libs/fontawesome/fonts/fontawesome-webfont.woff2?v=4.7.0\\" as=\\"font\\" crossorigin=\\"\\"/>\\n        <t t-call-assets=\\"web.assets_frontend\\" t-js=\\"false\\"/>\\n      </xpath>\\n      <xpath expr=\\"//head/script[@id='web.layout.odooscript']\\" position=\\"after\\">\\n        <script t-nocache=\\"Session information should always be up to date.\\" type=\\"text/javascript\\">\\n            odoo.__session_info__ = <t t-out=\\"json.dumps(request.env['ir.http'].get_frontend_session_info())\\"/>;\\n            if (!/(^|;\\\\s)tz=/.test(document.cookie)) {\\n                const userTZ = Intl.DateTimeFormat().resolvedOptions().timeZone;\\n                document.cookie = `tz=${userTZ}; path=/`;\\n            }\\n        </script>\\n        <t t-call-assets=\\"web.assets_frontend_minimal\\" t-css=\\"false\\" defer_load=\\"True\\"/>\\n        <t t-call=\\"web.conditional_assets_tests\\"/>\\n        <t t-call-assets=\\"web.assets_frontend_lazy\\" t-css=\\"false\\" lazy_load=\\"True\\"/>\\n      </xpath>\\n        <xpath expr=\\"//t[@t-out='0']\\" position=\\"replace\\">\\n            <div id=\\"wrapwrap\\" t-attf-class=\\"#{pageName or ''}\\">\\n                <header t-if=\\"not no_header\\" id=\\"top\\" data-anchor=\\"true\\">\\n                    <img class=\\"img-responsive d-block mx-auto\\" t-attf-src=\\"/web/binary/company_logo\\" alt=\\"Biểu tượng\\"/>\\n                </header>\\n                <main>\\n                    <t t-out=\\"0\\"/>\\n                </main>\\n                <footer t-cache=\\"no_footer,no_copyright\\" t-if=\\"not no_footer\\" id=\\"bottom\\" data-anchor=\\"true\\" t-attf-class=\\"bg-light o_footer\\">\\n                    <div id=\\"footer\\"/>\\n                    <div t-if=\\"not no_copyright\\" class=\\"o_footer_copyright\\">\\n                        <div class=\\"container py-3\\">\\n                            <div class=\\"row\\">\\n                                <div class=\\"col-sm text-center text-sm-start text-muted\\">\\n                                    <span class=\\"o_footer_copyright_name me-2\\">Bản quyền &amp;copy; <span t-field=\\"res_company.name\\" itemprop=\\"name\\">Tên công ty</span></span>\\n                                </div>\\n                                <div class=\\"col-sm text-center text-sm-end\\">\\n                                    <t t-call=\\"web.brand_promotion\\"/>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </footer>\\n            </div>\\n        </xpath>\\n    <xpath expr=\\".\\" position=\\"attributes\\"><attribute name=\\"t-name\\">web.frontend_layout</attribute></xpath></data>"}	<?xml version="1.0"?>\n<data name="Frontend Layout" inherit_id="web.layout" primary="True">\n      <xpath expr="//head/meta[last()]" position="after">\n        <meta name="viewport" content="width=device-width, initial-scale=1"/>\n      </xpath>\n      <xpath expr="//head/link[last()]" position="after">\n        <link rel="preload" href="/web/static/src/libs/fontawesome/fonts/fontawesome-webfont.woff2?v=4.7.0" as="font" crossorigin=""/>\n        <t t-call-assets="web.assets_frontend" t-js="false"/>\n      </xpath>\n      <xpath expr="//head/script[@id='web.layout.odooscript']" position="after">\n        <script t-nocache="Session information should always be up to date." type="text/javascript">\n            odoo.__session_info__ = <t t-out="json.dumps(request.env['ir.http'].get_frontend_session_info())"/>;\n            if (!/(^|;\\s)tz=/.test(document.cookie)) {\n                const userTZ = Intl.DateTimeFormat().resolvedOptions().timeZone;\n                document.cookie = `tz=${userTZ}; path=/`;\n            }\n        </script>\n        <t t-call-assets="web.assets_frontend_minimal" t-css="false" defer_load="True"/>\n        <t t-call="web.conditional_assets_tests"/>\n        <t t-call-assets="web.assets_frontend_lazy" t-css="false" lazy_load="True"/>\n      </xpath>\n        <xpath expr="//t[@t-out='0']" position="replace">\n            <div id="wrapwrap" t-attf-class="#{pageName or ''}">\n                <header t-if="not no_header" id="top" data-anchor="true">\n                    <img class="img-responsive d-block mx-auto" t-attf-src="/web/binary/company_logo" alt="Logo"/>\n                </header>\n                <main>\n                    <t t-out="0"/>\n                </main>\n                <footer t-cache="no_footer,no_copyright" t-if="not no_footer" id="bottom" data-anchor="true" t-attf-class="bg-light o_footer">\n                    <div id="footer"/>\n                    <div t-if="not no_copyright" class="o_footer_copyright">\n                        <div class="container py-3">\n                            <div class="row">\n                                <div class="col-sm text-center text-sm-start text-muted">\n                                    <span class="o_footer_copyright_name me-2">Copyright &amp;copy; <span t-field="res_company.name" itemprop="name">Company name</span></span>\n                                </div>\n                                <div class="col-sm text-center text-sm-end">\n                                    <t t-call="web.brand_promotion"/>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </footer>\n            </div>\n        </xpath>\n    <xpath expr="." position="attributes"><attribute name="t-name">web.frontend_layout</attribute></xpath></data>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
182	16	\N	1	1	Brand Promotion Message	\N	web.brand_promotion_message	qweb	web/views/webclient_templates.xml	\N	primary	{"en_US": "<t name=\\"Brand Promotion Message\\" t-name=\\"web.brand_promotion_message\\">\\n        <t t-set=\\"odoo_logo\\">\\n            <a target=\\"_blank\\" t-attf-href=\\"http://www.odoo.com?utm_source=db&amp;utm_medium=#{_utm_medium}\\" class=\\"badge text-bg-light\\">\\n                <img alt=\\"Odoo\\" src=\\"/web/static/img/odoo_logo_tiny.png\\" width=\\"62\\" height=\\"20\\" style=\\"width: auto; height: 1em; vertical-align: baseline;\\"/>\\n            </a>\\n        </t>\\n        <t t-set=\\"final_message\\">Powered by %s%s</t>\\n        <t t-out=\\"final_message % (odoo_logo, _message and ('- ' + _message) or '')\\"/>\\n    </t>", "vi_VN": "<t name=\\"Brand Promotion Message\\" t-name=\\"web.brand_promotion_message\\">\\n        <t t-set=\\"odoo_logo\\">\\n            <a target=\\"_blank\\" t-attf-href=\\"http://www.odoo.com?utm_source=db&amp;utm_medium=#{_utm_medium}\\" class=\\"badge text-bg-light\\">\\n                <img alt=\\"Odoo\\" src=\\"/web/static/img/odoo_logo_tiny.png\\" width=\\"62\\" height=\\"20\\" style=\\"width: auto; height: 1em; vertical-align: baseline;\\"/>\\n            </a>\\n        </t>\\n        <t t-set=\\"final_message\\">Cung cấp bởi %s%s</t>\\n        <t t-out=\\"final_message % (odoo_logo, _message and ('- ' + _message) or '')\\"/>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Brand Promotion Message" t-name="web.brand_promotion_message">\n        <t t-set="odoo_logo">\n            <a target="_blank" t-attf-href="http://www.odoo.com?utm_source=db&amp;utm_medium=#{_utm_medium}" class="badge text-bg-light">\n                <img alt="Odoo" src="/web/static/img/odoo_logo_tiny.png" width="62" height="20" style="width: auto; height: 1em; vertical-align: baseline;"/>\n            </a>\n        </t>\n        <t t-set="final_message">Powered by %s%s</t>\n        <t t-out="final_message % (odoo_logo, _message and ('- ' + _message) or '')"/>\n    </t>\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
184	16	\N	1	1	Login Layout	\N	web.login_layout	qweb	web/views/webclient_templates.xml	\N	primary	{"en_US": "<t name=\\"Login Layout\\" t-name=\\"web.login_layout\\">\\n        <t t-call=\\"web.frontend_layout\\">\\n            <t t-set=\\"html_data\\" t-value=\\"{'style': 'height: 100%;'}\\"/>\\n            <t t-set=\\"body_classname\\" t-value=\\"'bg-100'\\"/>\\n            <t t-set=\\"no_header\\" t-value=\\"True\\"/>\\n            <t t-set=\\"no_footer\\" t-value=\\"True\\"/>\\n\\n            <div class=\\"container py-5\\">\\n                <div t-attf-class=\\"card border-0 mx-auto bg-100 {{login_card_classes}} o_database_list\\" style=\\"max-width: 300px;\\">\\n                    <div class=\\"card-body\\">\\n                        <div t-attf-class=\\"text-center pb-3 border-bottom {{'mb-3' if form_small else 'mb-4'}}\\">\\n                            <img t-attf-src=\\"/web/binary/company_logo{{ '?dbname='+db if db else '' }}\\" alt=\\"Logo\\" style=\\"max-height:120px; max-width: 100%; width:auto\\"/>\\n                        </div>\\n                        <t t-out=\\"0\\"/>\\n                        <div class=\\"text-center small mt-4 pt-3 border-top\\" t-if=\\"not disable_footer\\">\\n                            <t t-if=\\"not disable_database_manager\\">\\n                                <a class=\\"border-end pe-2 me-1\\" href=\\"/web/database/manager\\">Manage Databases</a>\\n                            </t>\\n                            <a href=\\"https://www.odoo.com?utm_source=db&amp;utm_medium=auth\\" target=\\"_blank\\">Powered by <span>Odoo</span></a>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </t>\\n    </t>", "vi_VN": "<t name=\\"Login Layout\\" t-name=\\"web.login_layout\\">\\n        <t t-call=\\"web.frontend_layout\\">\\n            <t t-set=\\"html_data\\" t-value=\\"{'style': 'height: 100%;'}\\"/>\\n            <t t-set=\\"body_classname\\" t-value=\\"'bg-100'\\"/>\\n            <t t-set=\\"no_header\\" t-value=\\"True\\"/>\\n            <t t-set=\\"no_footer\\" t-value=\\"True\\"/>\\n\\n            <div class=\\"container py-5\\">\\n                <div t-attf-class=\\"card border-0 mx-auto bg-100 {{login_card_classes}} o_database_list\\" style=\\"max-width: 300px;\\">\\n                    <div class=\\"card-body\\">\\n                        <div t-attf-class=\\"text-center pb-3 border-bottom {{'mb-3' if form_small else 'mb-4'}}\\">\\n                            <img t-attf-src=\\"/web/binary/company_logo{{ '?dbname='+db if db else '' }}\\" alt=\\"Biểu tượng\\" style=\\"max-height:120px; max-width: 100%; width:auto\\"/>\\n                        </div>\\n                        <t t-out=\\"0\\"/>\\n                        <div class=\\"text-center small mt-4 pt-3 border-top\\" t-if=\\"not disable_footer\\">\\n                            <t t-if=\\"not disable_database_manager\\">\\n                                <a class=\\"border-end pe-2 me-1\\" href=\\"/web/database/manager\\">Quản lý cơ sở dữ liệu</a>\\n                            </t>\\n                            <a href=\\"https://www.odoo.com?utm_source=db&amp;utm_medium=auth\\" target=\\"_blank\\">Cung cấp bởi <span>Odoo</span></a>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Login Layout" t-name="web.login_layout">\n        <t t-call="web.frontend_layout">\n            <t t-set="html_data" t-value="{'style': 'height: 100%;'}"/>\n            <t t-set="body_classname" t-value="'bg-100'"/>\n            <t t-set="no_header" t-value="True"/>\n            <t t-set="no_footer" t-value="True"/>\n\n            <div class="container py-5">\n                <div t-attf-class="card border-0 mx-auto bg-100 {{login_card_classes}} o_database_list" style="max-width: 300px;">\n                    <div class="card-body">\n                        <div t-attf-class="text-center pb-3 border-bottom {{'mb-3' if form_small else 'mb-4'}}">\n                            <img t-attf-src="/web/binary/company_logo{{ '?dbname='+db if db else '' }}" alt="Logo" style="max-height:120px; max-width: 100%; width:auto"/>\n                        </div>\n                        <t t-out="0"/>\n                        <div class="text-center small mt-4 pt-3 border-top" t-if="not disable_footer">\n                            <t t-if="not disable_database_manager">\n                                <a class="border-end pe-2 me-1" href="/web/database/manager">Manage Databases</a>\n                            </t>\n                            <a href="https://www.odoo.com?utm_source=db&amp;utm_medium=auth" target="_blank">Powered by <span>Odoo</span></a>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </t>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
185	16	\N	1	1	Login	\N	web.login	qweb	web/views/webclient_templates.xml	\N	primary	{"en_US": "<t name=\\"Login\\" t-name=\\"web.login\\">\\n        <t t-call=\\"web.login_layout\\">\\n            <form class=\\"oe_login_form\\" role=\\"form\\" t-attf-action=\\"/web/login\\" method=\\"post\\" onsubmit=\\"this.action = '/web/login' + location.hash\\">\\n                <input type=\\"hidden\\" name=\\"csrf_token\\" t-att-value=\\"request.csrf_token()\\"/>\\n\\n                <div class=\\"mb-3\\" t-if=\\"databases and len(databases) &gt; 1\\">\\n                    <label for=\\"db\\" class=\\"col-form-label\\">Database</label>\\n                    <div t-attf-class=\\"input-group {{'input-group-sm' if form_small else ''}}\\">\\n                        <input type=\\"text\\" name=\\"db\\" t-att-value=\\"request.db\\" id=\\"db\\" t-attf-class=\\"form-control #{'form-control-sm' if form_small else ''}\\" required=\\"required\\" readonly=\\"readonly\\"/>\\n                        <a role=\\"button\\" href=\\"/web/database/selector\\" class=\\"btn btn-secondary\\">Select <i class=\\"fa fa-database\\" role=\\"img\\" aria-label=\\"Database\\" title=\\"Database\\"/></a>\\n                    </div>\\n                </div>\\n\\n                <div class=\\"mb-3 field-login\\">\\n                    <label for=\\"login\\" class=\\"form-label\\">Email</label>\\n                    <input type=\\"text\\" placeholder=\\"Email\\" name=\\"login\\" t-att-value=\\"login\\" id=\\"login\\" t-attf-class=\\"form-control #{'form-control-sm' if form_small else ''}\\" required=\\"required\\" autocomplete=\\"username\\" autofocus=\\"autofocus\\" autocapitalize=\\"off\\"/>\\n                </div>\\n\\n                <div class=\\"mb-3\\">\\n                    <label for=\\"password\\" class=\\"form-label\\">Password</label>\\n                    <input type=\\"password\\" placeholder=\\"Password\\" name=\\"password\\" id=\\"password\\" t-attf-class=\\"form-control #{'form-control-sm' if form_small else ''}\\" required=\\"required\\" autocomplete=\\"current-password\\" t-att-autofocus=\\"'autofocus' if login else None\\" maxlength=\\"4096\\"/>\\n                </div>\\n\\n                <p class=\\"alert alert-danger\\" t-if=\\"error\\" role=\\"alert\\">\\n                    <t t-esc=\\"error\\"/>\\n                </p>\\n                <p class=\\"alert alert-success\\" t-if=\\"message\\" role=\\"status\\">\\n                    <t t-esc=\\"message\\"/>\\n                </p>\\n\\n                <div t-attf-class=\\"clearfix oe_login_buttons text-center gap-1 d-grid mb-1 {{'pt-2' if form_small else 'pt-3'}}\\">\\n                    <button type=\\"submit\\" class=\\"btn btn-primary\\">Log in</button>\\n                    <t t-if=\\"debug\\">\\n                        <button type=\\"submit\\" name=\\"redirect\\" value=\\"/web/become\\" class=\\"btn btn-link btn-sm\\">Log in as superuser</button>\\n                    </t>\\n                    <div class=\\"o_login_auth\\"/>\\n                </div>\\n\\n                <input type=\\"hidden\\" name=\\"redirect\\" t-att-value=\\"redirect\\"/>\\n            </form>\\n        </t>\\n    </t>", "vi_VN": "<t name=\\"Login\\" t-name=\\"web.login\\">\\n        <t t-call=\\"web.login_layout\\">\\n            <form class=\\"oe_login_form\\" role=\\"form\\" t-attf-action=\\"/web/login\\" method=\\"post\\" onsubmit=\\"this.action = '/web/login' + location.hash\\">\\n                <input type=\\"hidden\\" name=\\"csrf_token\\" t-att-value=\\"request.csrf_token()\\"/>\\n\\n                <div class=\\"mb-3\\" t-if=\\"databases and len(databases) &gt; 1\\">\\n                    <label for=\\"db\\" class=\\"col-form-label\\">Cơ sở dữ liệu</label>\\n                    <div t-attf-class=\\"input-group {{'input-group-sm' if form_small else ''}}\\">\\n                        <input type=\\"text\\" name=\\"db\\" t-att-value=\\"request.db\\" id=\\"db\\" t-attf-class=\\"form-control #{'form-control-sm' if form_small else ''}\\" required=\\"required\\" readonly=\\"readonly\\"/>\\n                        <a role=\\"button\\" href=\\"/web/database/selector\\" class=\\"btn btn-secondary\\">Chọn <i class=\\"fa fa-database\\" role=\\"img\\" aria-label=\\"Database\\" title=\\"Database\\"/></a>\\n                    </div>\\n                </div>\\n\\n                <div class=\\"mb-3 field-login\\">\\n                    <label for=\\"login\\" class=\\"form-label\\">Email</label>\\n                    <input type=\\"text\\" placeholder=\\"Email\\" name=\\"login\\" t-att-value=\\"login\\" id=\\"login\\" t-attf-class=\\"form-control #{'form-control-sm' if form_small else ''}\\" required=\\"required\\" autocomplete=\\"username\\" autofocus=\\"autofocus\\" autocapitalize=\\"off\\"/>\\n                </div>\\n\\n                <div class=\\"mb-3\\">\\n                    <label for=\\"password\\" class=\\"form-label\\">Mật khẩu</label>\\n                    <input type=\\"password\\" placeholder=\\"Mật khẩu\\" name=\\"password\\" id=\\"password\\" t-attf-class=\\"form-control #{'form-control-sm' if form_small else ''}\\" required=\\"required\\" autocomplete=\\"current-password\\" t-att-autofocus=\\"'autofocus' if login else None\\" maxlength=\\"4096\\"/>\\n                </div>\\n\\n                <p class=\\"alert alert-danger\\" t-if=\\"error\\" role=\\"alert\\">\\n                    <t t-esc=\\"error\\"/>\\n                </p>\\n                <p class=\\"alert alert-success\\" t-if=\\"message\\" role=\\"status\\">\\n                    <t t-esc=\\"message\\"/>\\n                </p>\\n\\n                <div t-attf-class=\\"clearfix oe_login_buttons text-center gap-1 d-grid mb-1 {{'pt-2' if form_small else 'pt-3'}}\\">\\n                    <button type=\\"submit\\" class=\\"btn btn-primary\\">Đăng nhập</button>\\n                    <t t-if=\\"debug\\">\\n                        <button type=\\"submit\\" name=\\"redirect\\" value=\\"/web/become\\" class=\\"btn btn-link btn-sm\\">Đăng nhập với quyền superuser</button>\\n                    </t>\\n                    <div class=\\"o_login_auth\\"/>\\n                </div>\\n\\n                <input type=\\"hidden\\" name=\\"redirect\\" t-att-value=\\"redirect\\"/>\\n            </form>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Login" t-name="web.login">\n        <t t-call="web.login_layout">\n            <form class="oe_login_form" role="form" t-attf-action="/web/login" method="post" onsubmit="this.action = '/web/login' + location.hash">\n                <input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>\n\n                <div class="mb-3" t-if="databases and len(databases) &gt; 1">\n                    <label for="db" class="col-form-label">Database</label>\n                    <div t-attf-class="input-group {{'input-group-sm' if form_small else ''}}">\n                        <input type="text" name="db" t-att-value="request.db" id="db" t-attf-class="form-control #{'form-control-sm' if form_small else ''}" required="required" readonly="readonly"/>\n                        <a role="button" href="/web/database/selector" class="btn btn-secondary">Select <i class="fa fa-database" role="img" aria-label="Database" title="Database"/></a>\n                    </div>\n                </div>\n\n                <div class="mb-3 field-login">\n                    <label for="login" class="form-label">Email</label>\n                    <input type="text" placeholder="Email" name="login" t-att-value="login" id="login" t-attf-class="form-control #{'form-control-sm' if form_small else ''}" required="required" autocomplete="username" autofocus="autofocus" autocapitalize="off"/>\n                </div>\n\n                <div class="mb-3">\n                    <label for="password" class="form-label">Password</label>\n                    <input type="password" placeholder="Password" name="password" id="password" t-attf-class="form-control #{'form-control-sm' if form_small else ''}" required="required" autocomplete="current-password" t-att-autofocus="'autofocus' if login else None" maxlength="4096"/>\n                </div>\n\n                <p class="alert alert-danger" t-if="error" role="alert">\n                    <t t-esc="error"/>\n                </p>\n                <p class="alert alert-success" t-if="message" role="status">\n                    <t t-esc="message"/>\n                </p>\n\n                <div t-attf-class="clearfix oe_login_buttons text-center gap-1 d-grid mb-1 {{'pt-2' if form_small else 'pt-3'}}">\n                    <button type="submit" class="btn btn-primary">Log in</button>\n                    <t t-if="debug">\n                        <button type="submit" name="redirect" value="/web/become" class="btn btn-link btn-sm">Log in as superuser</button>\n                    </t>\n                    <div class="o_login_auth"/>\n                </div>\n\n                <input type="hidden" name="redirect" t-att-value="redirect"/>\n            </form>\n        </t>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
186	16	\N	1	1	Login successful	\N	web.login_successful	qweb	web/views/webclient_templates.xml	\N	primary	{"en_US": "<t name=\\"Login successful\\" t-name=\\"web.login_successful\\">\\n        <t t-call=\\"web.login_layout\\">\\n            <div class=\\"oe_login_form\\">\\n                <p>\\n                    You are logged in.\\n                </p>\\n                <div t-attf-class=\\"clearfix oe_login_buttons text-center mb-1 pt-3\\">\\n                    <a class=\\"btn btn-primary btn-block\\" href=\\"/web/session/logout\\">Log out</a>\\n                </div>\\n            </div>\\n        </t>\\n    </t>", "vi_VN": "<t name=\\"Login successful\\" t-name=\\"web.login_successful\\">\\n        <t t-call=\\"web.login_layout\\">\\n            <div class=\\"oe_login_form\\">\\n                <p>\\n                    Bạn đã đăng nhập.\\n                </p>\\n                <div t-attf-class=\\"clearfix oe_login_buttons text-center mb-1 pt-3\\">\\n                    <a class=\\"btn btn-primary btn-block\\" href=\\"/web/session/logout\\">Đăng xuất</a>\\n                </div>\\n            </div>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Login successful" t-name="web.login_successful">\n        <t t-call="web.login_layout">\n            <div class="oe_login_form">\n                <p>\n                    You are logged in.\n                </p>\n                <div t-attf-class="clearfix oe_login_buttons text-center mb-1 pt-3">\n                    <a class="btn btn-primary btn-block" href="/web/session/logout">Log out</a>\n                </div>\n            </div>\n        </t>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
188	16	\N	1	1	web.qunit_suite	\N	web.qunit_suite	qweb	web/views/webclient_templates.xml	\N	primary	{"en_US": "<t t-name=\\"web.qunit_suite\\">\\n        <t t-call=\\"web.layout\\">\\n            <t t-set=\\"html_data\\" t-value=\\"{'style': 'height: 100%;'}\\"/>\\n            <t t-set=\\"title\\">Web Tests</t>\\n            <t t-set=\\"head\\">\\n                <t t-call-assets=\\"web.assets_common\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.tests_assets_common\\" t-css=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-css=\\"false\\"/>\\n\\n                <t t-call=\\"web.test_helpers\\"/>\\n\\n                <t t-call-assets=\\"web.qunit_suite_tests\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.qunit_suite_tests\\" t-css=\\"false\\"/>\\n            </t>\\n            <div id=\\"qunit\\"/>\\n            <div id=\\"qunit-fixture\\"/>\\n        </t>\\n    </t>", "vi_VN": "<t t-name=\\"web.qunit_suite\\">\\n        <t t-call=\\"web.layout\\">\\n            <t t-set=\\"html_data\\" t-value=\\"{'style': 'height: 100%;'}\\"/>\\n            <t t-set=\\"title\\">Kiểm tra Web</t>\\n            <t t-set=\\"head\\">\\n                <t t-call-assets=\\"web.assets_common\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.tests_assets_common\\" t-css=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-css=\\"false\\"/>\\n\\n                <t t-call=\\"web.test_helpers\\"/>\\n\\n                <t t-call-assets=\\"web.qunit_suite_tests\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.qunit_suite_tests\\" t-css=\\"false\\"/>\\n            </t>\\n            <div id=\\"qunit\\"/>\\n            <div id=\\"qunit-fixture\\"/>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="web.qunit_suite">\n        <t t-call="web.layout">\n            <t t-set="html_data" t-value="{'style': 'height: 100%;'}"/>\n            <t t-set="title">Web Tests</t>\n            <t t-set="head">\n                <t t-call-assets="web.assets_common" t-js="false"/>\n                <t t-call-assets="web.assets_backend" t-js="false"/>\n                <t t-call-assets="web.tests_assets_common" t-css="false"/>\n                <t t-call-assets="web.assets_backend" t-css="false"/>\n\n                <t t-call="web.test_helpers"/>\n\n                <t t-call-assets="web.qunit_suite_tests" t-js="false"/>\n                <t t-call-assets="web.qunit_suite_tests" t-css="false"/>\n            </t>\n            <div id="qunit"/>\n            <div id="qunit-fixture"/>\n        </t>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
189	16	\N	1	1	web.qunit_mobile_suite	\N	web.qunit_mobile_suite	qweb	web/views/webclient_templates.xml	\N	primary	{"en_US": "<t t-name=\\"web.qunit_mobile_suite\\">\\n        <t t-call=\\"web.layout\\">\\n            <t t-set=\\"html_data\\" t-value=\\"{'style': 'height: 100%;'}\\"/>\\n            <t t-set=\\"title\\">Web Mobile Tests</t>\\n            <t t-set=\\"head\\">\\n                <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1, user-scalable=no\\"/>\\n\\n                <t t-call-assets=\\"web.assets_common\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.tests_assets_common\\" t-css=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-css=\\"false\\"/>\\n\\n                <t t-call=\\"web.test_helpers\\"/>\\n\\n                <t t-call-assets=\\"web.qunit_mobile_suite_tests\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.qunit_mobile_suite_tests\\" t-css=\\"false\\"/>\\n            </t>\\n            <div id=\\"qunit\\"/>\\n            <div id=\\"qunit-fixture\\"/>\\n        </t>\\n    </t>", "vi_VN": "<t t-name=\\"web.qunit_mobile_suite\\">\\n        <t t-call=\\"web.layout\\">\\n            <t t-set=\\"html_data\\" t-value=\\"{'style': 'height: 100%;'}\\"/>\\n            <t t-set=\\"title\\">Kiểm tra Web Mobile</t>\\n            <t t-set=\\"head\\">\\n                <meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1, user-scalable=no\\"/>\\n\\n                <t t-call-assets=\\"web.assets_common\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.tests_assets_common\\" t-css=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-css=\\"false\\"/>\\n\\n                <t t-call=\\"web.test_helpers\\"/>\\n\\n                <t t-call-assets=\\"web.qunit_mobile_suite_tests\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.qunit_mobile_suite_tests\\" t-css=\\"false\\"/>\\n            </t>\\n            <div id=\\"qunit\\"/>\\n            <div id=\\"qunit-fixture\\"/>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="web.qunit_mobile_suite">\n        <t t-call="web.layout">\n            <t t-set="html_data" t-value="{'style': 'height: 100%;'}"/>\n            <t t-set="title">Web Mobile Tests</t>\n            <t t-set="head">\n                <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>\n\n                <t t-call-assets="web.assets_common" t-js="false"/>\n                <t t-call-assets="web.assets_backend" t-js="false"/>\n                <t t-call-assets="web.tests_assets_common" t-css="false"/>\n                <t t-call-assets="web.assets_backend" t-css="false"/>\n\n                <t t-call="web.test_helpers"/>\n\n                <t t-call-assets="web.qunit_mobile_suite_tests" t-js="false"/>\n                <t t-call-assets="web.qunit_mobile_suite_tests" t-css="false"/>\n            </t>\n            <div id="qunit"/>\n            <div id="qunit-fixture"/>\n        </t>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
190	16	\N	1	1	web.benchmark_suite	\N	web.benchmark_suite	qweb	web/views/webclient_templates.xml	\N	primary	{"en_US": "<t t-name=\\"web.benchmark_suite\\">\\n        <t t-call=\\"web.layout\\">\\n            <t t-set=\\"html_data\\" t-value=\\"{'style': 'height: 100%;'}\\"/>\\n            <t t-set=\\"title\\">Web Benchmarks</t>\\n            <t t-set=\\"head\\">\\n                <script type=\\"text/javascript\\" src=\\"/web/static/lib/benchmarkjs/lodash.js\\"/>\\n                <script type=\\"text/javascript\\" src=\\"/web/static/lib/benchmarkjs/benchmark.js\\"/>\\n\\n                <t t-call-assets=\\"web.assets_common\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_common\\" t-css=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-css=\\"false\\"/>\\n\\n                <t t-call=\\"web.test_helpers\\"/>\\n\\n                <script type=\\"text/javascript\\">\\n                    QUnit.config.hidepassed = false;\\n                </script>\\n\\n                <style>\\n                    body:not(.debug) .modal-backdrop, body:not(.debug) .modal, body:not(.debug) .ui-autocomplete {\\n                        opacity: 0 !important;\\n                    }\\n                    #qunit-testrunner-toolbar label {\\n                        font-weight: inherit;\\n                        margin-bottom: inherit;\\n                    }\\n                    #qunit-testrunner-toolbar input[type=text] {\\n                        width: inherit;\\n                        display: inherit;\\n                    }\\n                </style>\\n\\n                <script type=\\"text/javascript\\" src=\\"/web/static/tests/views/list_benchmarks.js\\"/>\\n                <script type=\\"text/javascript\\" src=\\"/web/static/tests/views/kanban_benchmarks.js\\"/>\\n                <script type=\\"text/javascript\\" src=\\"/web/static/tests/views/form_benchmarks.js\\"/>\\n\\n            </t>\\n\\n            <div id=\\"qunit\\"/>\\n            <div id=\\"qunit-fixture\\"/>\\n        </t>\\n    </t>", "vi_VN": "<t t-name=\\"web.benchmark_suite\\">\\n        <t t-call=\\"web.layout\\">\\n            <t t-set=\\"html_data\\" t-value=\\"{'style': 'height: 100%;'}\\"/>\\n            <t t-set=\\"title\\">Chấm điểm Web</t>\\n            <t t-set=\\"head\\">\\n                <script type=\\"text/javascript\\" src=\\"/web/static/lib/benchmarkjs/lodash.js\\"/>\\n                <script type=\\"text/javascript\\" src=\\"/web/static/lib/benchmarkjs/benchmark.js\\"/>\\n\\n                <t t-call-assets=\\"web.assets_common\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-js=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_common\\" t-css=\\"false\\"/>\\n                <t t-call-assets=\\"web.assets_backend\\" t-css=\\"false\\"/>\\n\\n                <t t-call=\\"web.test_helpers\\"/>\\n\\n                <script type=\\"text/javascript\\">\\n                    QUnit.config.hidepassed = false;\\n                </script>\\n\\n                <style>\\n                    body:not(.debug) .modal-backdrop, body:not(.debug) .modal, body:not(.debug) .ui-autocomplete {\\n                        opacity: 0 !important;\\n                    }\\n                    #qunit-testrunner-toolbar label {\\n                        font-weight: inherit;\\n                        margin-bottom: inherit;\\n                    }\\n                    #qunit-testrunner-toolbar input[type=text] {\\n                        width: inherit;\\n                        display: inherit;\\n                    }\\n                </style>\\n\\n                <script type=\\"text/javascript\\" src=\\"/web/static/tests/views/list_benchmarks.js\\"/>\\n                <script type=\\"text/javascript\\" src=\\"/web/static/tests/views/kanban_benchmarks.js\\"/>\\n                <script type=\\"text/javascript\\" src=\\"/web/static/tests/views/form_benchmarks.js\\"/>\\n\\n            </t>\\n\\n            <div id=\\"qunit\\"/>\\n            <div id=\\"qunit-fixture\\"/>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="web.benchmark_suite">\n        <t t-call="web.layout">\n            <t t-set="html_data" t-value="{'style': 'height: 100%;'}"/>\n            <t t-set="title">Web Benchmarks</t>\n            <t t-set="head">\n                <script type="text/javascript" src="/web/static/lib/benchmarkjs/lodash.js"/>\n                <script type="text/javascript" src="/web/static/lib/benchmarkjs/benchmark.js"/>\n\n                <t t-call-assets="web.assets_common" t-js="false"/>\n                <t t-call-assets="web.assets_backend" t-js="false"/>\n                <t t-call-assets="web.assets_common" t-css="false"/>\n                <t t-call-assets="web.assets_backend" t-css="false"/>\n\n                <t t-call="web.test_helpers"/>\n\n                <script type="text/javascript">\n                    QUnit.config.hidepassed = false;\n                </script>\n\n                <style>\n                    body:not(.debug) .modal-backdrop, body:not(.debug) .modal, body:not(.debug) .ui-autocomplete {\n                        opacity: 0 !important;\n                    }\n                    #qunit-testrunner-toolbar label {\n                        font-weight: inherit;\n                        margin-bottom: inherit;\n                    }\n                    #qunit-testrunner-toolbar input[type=text] {\n                        width: inherit;\n                        display: inherit;\n                    }\n                </style>\n\n                <script type="text/javascript" src="/web/static/tests/views/list_benchmarks.js"/>\n                <script type="text/javascript" src="/web/static/tests/views/kanban_benchmarks.js"/>\n                <script type="text/javascript" src="/web/static/tests/views/form_benchmarks.js"/>\n\n            </t>\n\n            <div id="qunit"/>\n            <div id="qunit-fixture"/>\n        </t>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1145	16	\N	1	1	s_masonry_block_alternation_image_text_template	\N	mass_mailing.s_masonry_block_alternation_image_text_template	qweb	mass_mailing/views/snippets/s_masonry_block.xml	\N	primary	{"en_US": "<t t-name=\\"mass_mailing.s_masonry_block_alternation_image_text_template\\">\\n    <div class=\\"row\\">\\n        <div class=\\"col-lg-3 oe_img_bg text-center pt224 pb224\\" data-name=\\"Block\\" style=\\"background-image: url(/web/image/mass_mailing.s_masonry_block_default_image_1);\\">\\n            <p><br/></p>\\n        </div>\\n        <div class=\\"col-lg-3 pt24 pb8 text-center o_cc o_cc4\\" data-name=\\"Block\\">\\n            <h3>A great title</h3>\\n            <p>And a great subtitle</p>\\n        </div>\\n        <div class=\\"col-lg-3 oe_img_bg text-center pt224 pb224\\" data-name=\\"Block\\" style=\\"background-image: url(/web/image/mass_mailing.s_masonry_block_default_image_2);\\">\\n            <p><br/></p>\\n        </div>\\n        <div class=\\"col-lg-3 pt24 pb8 text-center o_cc o_cc3\\" data-name=\\"Block\\">\\n            <h3>A great title</h3>\\n            <p>And a great subtitle</p>\\n        </div>\\n    </div>\\n</t>", "vi_VN": "<t t-name=\\"mass_mailing.s_masonry_block_alternation_image_text_template\\">\\n    <div class=\\"row\\">\\n        <div class=\\"col-lg-3 oe_img_bg text-center pt224 pb224\\" data-name=\\"Block\\" style=\\"background-image: url(/web/image/mass_mailing.s_masonry_block_default_image_1);\\">\\n            <p><br/></p>\\n        </div>\\n        <div class=\\"col-lg-3 pt24 pb8 text-center o_cc o_cc4\\" data-name=\\"Block\\">\\n            <h3>Một tiêu đề tuyệt vời</h3>\\n            <p>Và một phụ đề tuyệt vời</p>\\n        </div>\\n        <div class=\\"col-lg-3 oe_img_bg text-center pt224 pb224\\" data-name=\\"Block\\" style=\\"background-image: url(/web/image/mass_mailing.s_masonry_block_default_image_2);\\">\\n            <p><br/></p>\\n        </div>\\n        <div class=\\"col-lg-3 pt24 pb8 text-center o_cc o_cc3\\" data-name=\\"Block\\">\\n            <h3>Một tiêu đề tuyệt vời</h3>\\n            <p>Và một phụ đề tuyệt vời</p>\\n        </div>\\n    </div>\\n</t>"}	<?xml version="1.0"?>\n<t t-name="mass_mailing.s_masonry_block_alternation_image_text_template">\n    <div class="row">\n        <div class="col-lg-3 oe_img_bg text-center pt224 pb224" data-name="Block" style="background-image: url(/web/image/mass_mailing.s_masonry_block_default_image_1);">\n            <p><br/></p>\n        </div>\n        <div class="col-lg-3 pt24 pb8 text-center o_cc o_cc4" data-name="Block">\n            <h3>A great title</h3>\n            <p>And a great subtitle</p>\n        </div>\n        <div class="col-lg-3 oe_img_bg text-center pt224 pb224" data-name="Block" style="background-image: url(/web/image/mass_mailing.s_masonry_block_default_image_2);">\n            <p><br/></p>\n        </div>\n        <div class="col-lg-3 pt24 pb8 text-center o_cc o_cc3" data-name="Block">\n            <h3>A great title</h3>\n            <p>And a great subtitle</p>\n        </div>\n    </div>\n</t>\n\n	f	t	2025-06-18 15:59:06.262166	2025-06-18 15:59:06.262166	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
199	16	\N	1	1	external_layout_striped	\N	web.external_layout_striped	qweb	web/views/report_templates.xml	\N	primary	{"en_US": "<t t-name=\\"web.external_layout_striped\\">\\n        <div t-attf-class=\\"o_company_#{company.id}_layout header\\" t-att-style=\\"report_header_style\\">\\n            <div class=\\"o_background_header\\">\\n            <div class=\\"float-end\\">\\n                <div class=\\"mt0 text-end h3\\" t-field=\\"company.report_header\\"/>\\n            </div>\\n            <img t-if=\\"company.logo\\" t-att-src=\\"image_data_uri(company.logo)\\" class=\\"float-start\\" alt=\\"Logo\\"/>\\n            <div class=\\"float-start company_address\\">\\n                <ul class=\\"list-unstyled\\">\\n                    <li t-if=\\"company.is_company_details_empty\\"><t t-esc=\\"company.partner_id\\" t-options=\\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}\\"/></li>\\n                    <li t-else=\\"\\"><t t-esc=\\"company.company_details\\"/></li>\\n                    <li t-if=\\"forced_vat\\">\\n                        <t t-esc=\\"company.country_id.vat_label or 'Tax ID'\\"/>:\\n                        <span t-esc=\\"forced_vat\\"/>\\n                    </li>\\n                </ul>\\n            </div>\\n            <div class=\\"clearfix mb8\\"/>\\n            </div>\\n        </div>\\n\\n        <t t-set=\\"layout_background_url\\" t-value=\\"'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''\\"/>\\n        <div t-attf-class=\\"o_company_#{company.id}_layout article o_report_layout_striped {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}\\" t-attf-style=\\"{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}\\" t-att-data-oe-model=\\"o and o._name\\" t-att-data-oe-id=\\"o and o.id\\" t-att-data-oe-lang=\\"o and o.env.context.get('lang')\\">\\n            <t t-call=\\"web.address_layout\\"/>\\n            <t t-out=\\"0\\"/>\\n        </div>\\n\\n        <div t-attf-class=\\"o_company_#{company.id}_layout footer o_background_footer\\">\\n            <div class=\\"text-center\\">\\n                <ul class=\\"list-inline\\">\\n                    <div t-field=\\"company.report_footer\\"/>\\n                </ul>\\n                <div t-if=\\"report_type == 'pdf'\\" class=\\"text-muted\\">\\n                    Page:\\n                    <span class=\\"page\\"/>\\n                    of\\n                    <span class=\\"topage\\"/>\\n                </div>\\n                <div t-if=\\"report_type == 'pdf' and display_name_in_footer\\" class=\\"text-muted\\">\\n                    <span t-field=\\"o.name\\"/>\\n                </div>\\n            </div>\\n        </div>\\n    </t>", "vi_VN": "<t t-name=\\"web.external_layout_striped\\">\\n        <div t-attf-class=\\"o_company_#{company.id}_layout header\\" t-att-style=\\"report_header_style\\">\\n            <div class=\\"o_background_header\\">\\n            <div class=\\"float-end\\">\\n                <div class=\\"mt0 text-end h3\\" t-field=\\"company.report_header\\"/>\\n            </div>\\n            <img t-if=\\"company.logo\\" t-att-src=\\"image_data_uri(company.logo)\\" class=\\"float-start\\" alt=\\"Biểu tượng\\"/>\\n            <div class=\\"float-start company_address\\">\\n                <ul class=\\"list-unstyled\\">\\n                    <li t-if=\\"company.is_company_details_empty\\"><t t-esc=\\"company.partner_id\\" t-options=\\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}\\"/></li>\\n                    <li t-else=\\"\\"><t t-esc=\\"company.company_details\\"/></li>\\n                    <li t-if=\\"forced_vat\\">\\n                        <t t-esc=\\"company.country_id.vat_label or 'Tax ID'\\"/>:\\n                        <span t-esc=\\"forced_vat\\"/>\\n                    </li>\\n                </ul>\\n            </div>\\n            <div class=\\"clearfix mb8\\"/>\\n            </div>\\n        </div>\\n\\n        <t t-set=\\"layout_background_url\\" t-value=\\"'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''\\"/>\\n        <div t-attf-class=\\"o_company_#{company.id}_layout article o_report_layout_striped {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}\\" t-attf-style=\\"{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}\\" t-att-data-oe-model=\\"o and o._name\\" t-att-data-oe-id=\\"o and o.id\\" t-att-data-oe-lang=\\"o and o.env.context.get('lang')\\">\\n            <t t-call=\\"web.address_layout\\"/>\\n            <t t-out=\\"0\\"/>\\n        </div>\\n\\n        <div t-attf-class=\\"o_company_#{company.id}_layout footer o_background_footer\\">\\n            <div class=\\"text-center\\">\\n                <ul class=\\"list-inline\\">\\n                    <div t-field=\\"company.report_footer\\"/>\\n                </ul>\\n                <div t-if=\\"report_type == 'pdf'\\" class=\\"text-muted\\">\\n                    Trang:\\n                    <span class=\\"page\\"/>\\n                    trong \\n                    <span class=\\"topage\\"/>\\n                </div>\\n                <div t-if=\\"report_type == 'pdf' and display_name_in_footer\\" class=\\"text-muted\\">\\n                    <span t-field=\\"o.name\\"/>\\n                </div>\\n            </div>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="web.external_layout_striped">\n        <div t-attf-class="o_company_#{company.id}_layout header" t-att-style="report_header_style">\n            <div class="o_background_header">\n            <div class="float-end">\n                <div class="mt0 text-end h3" t-field="company.report_header"/>\n            </div>\n            <img t-if="company.logo" t-att-src="image_data_uri(company.logo)" class="float-start" alt="Logo"/>\n            <div class="float-start company_address">\n                <ul class="list-unstyled">\n                    <li t-if="company.is_company_details_empty"><t t-esc="company.partner_id" t-options="{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}"/></li>\n                    <li t-else=""><t t-esc="company.company_details"/></li>\n                    <li t-if="forced_vat">\n                        <t t-esc="company.country_id.vat_label or 'Tax ID'"/>:\n                        <span t-esc="forced_vat"/>\n                    </li>\n                </ul>\n            </div>\n            <div class="clearfix mb8"/>\n            </div>\n        </div>\n\n        <t t-set="layout_background_url" t-value="'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''"/>\n        <div t-attf-class="o_company_#{company.id}_layout article o_report_layout_striped {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}" t-attf-style="{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">\n            <t t-call="web.address_layout"/>\n            <t t-out="0"/>\n        </div>\n\n        <div t-attf-class="o_company_#{company.id}_layout footer o_background_footer">\n            <div class="text-center">\n                <ul class="list-inline">\n                    <div t-field="company.report_footer"/>\n                </ul>\n                <div t-if="report_type == 'pdf'" class="text-muted">\n                    Page:\n                    <span class="page"/>\n                    of\n                    <span class="topage"/>\n                </div>\n                <div t-if="report_type == 'pdf' and display_name_in_footer" class="text-muted">\n                    <span t-field="o.name"/>\n                </div>\n            </div>\n        </div>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
200	16	\N	1	1	external_layout_boxed	\N	web.external_layout_boxed	qweb	web/views/report_templates.xml	\N	primary	{"en_US": "<t t-name=\\"web.external_layout_boxed\\">\\n        <div t-attf-class=\\"header o_company_#{company.id}_layout\\" t-att-style=\\"report_header_style\\">\\n            <div class=\\"o_boxed_header\\">\\n            <div class=\\"row mb8\\">\\n                <div class=\\"col-6\\">\\n                    <img t-if=\\"company.logo\\" t-att-src=\\"image_data_uri(company.logo)\\" alt=\\"Logo\\"/>\\n                </div>\\n                <div class=\\"col-6 text-end mb4\\">\\n                    <t t-if=\\"company.report_header and company.report_header.strip() != '&lt;p&gt;&lt;br&gt;&lt;/p&gt;'\\">\\n                        <div class=\\"mt0 h4\\" t-field=\\"company.report_header\\"/>\\n                    </t>\\n                    <div name=\\"company_address\\" class=\\"float-end mb4\\">\\n                        <ul class=\\"list-unstyled\\">\\n                            <li t-if=\\"company.is_company_details_empty\\"><t t-esc=\\"company.partner_id\\" t-options=\\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}\\"/></li>\\n                            <li t-else=\\"\\"><t t-esc=\\"company.company_details\\"/></li>\\n                            <li t-if=\\"forced_vat\\">\\n                                <t t-esc=\\"company.country_id.vat_label or 'Tax ID'\\"/>:\\n                                <span t-esc=\\"forced_vat\\"/>\\n                            </li>\\n                        </ul>\\n                    </div>\\n                </div>\\n            </div>\\n            </div>\\n        </div>\\n\\n        <t t-set=\\"layout_background_url\\" t-value=\\"'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''\\"/>\\n        <div t-attf-class=\\"article o_report_layout_boxed o_company_#{company.id}_layout {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}\\" t-attf-style=\\"{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}\\" t-att-data-oe-model=\\"o and o._name\\" t-att-data-oe-id=\\"o and o.id\\" t-att-data-oe-lang=\\"o and o.env.context.get('lang')\\">\\n            <div class=\\"pt-5\\">\\n                <!-- This div ensures that the address is not cropped by the header. -->\\n                <t t-call=\\"web.address_layout\\"/>\\n            </div>\\n            <t t-out=\\"0\\"/>\\n        </div>\\n\\n        <div t-attf-class=\\"footer o_boxed_footer o_company_#{company.id}_layout\\">\\n            <div class=\\"text-center\\">\\n                <div t-field=\\"company.report_footer\\"/>\\n                <div t-if=\\"report_type == 'pdf'\\">\\n                    Page: <span class=\\"page\\"/> / <span class=\\"topage\\"/>\\n                </div>\\n                <div t-if=\\"report_type == 'pdf' and display_name_in_footer\\" class=\\"text-muted\\">\\n                    <span t-field=\\"o.name\\"/>\\n                </div>\\n            </div>\\n        </div>\\n    </t>", "vi_VN": "<t t-name=\\"web.external_layout_boxed\\">\\n        <div t-attf-class=\\"header o_company_#{company.id}_layout\\" t-att-style=\\"report_header_style\\">\\n            <div class=\\"o_boxed_header\\">\\n            <div class=\\"row mb8\\">\\n                <div class=\\"col-6\\">\\n                    <img t-if=\\"company.logo\\" t-att-src=\\"image_data_uri(company.logo)\\" alt=\\"Biểu tượng\\"/>\\n                </div>\\n                <div class=\\"col-6 text-end mb4\\">\\n                    <t t-if=\\"company.report_header and company.report_header.strip() != '&lt;p&gt;&lt;br&gt;&lt;/p&gt;'\\">\\n                        <div class=\\"mt0 h4\\" t-field=\\"company.report_header\\"/>\\n                    </t>\\n                    <div name=\\"company_address\\" class=\\"float-end mb4\\">\\n                        <ul class=\\"list-unstyled\\">\\n                            <li t-if=\\"company.is_company_details_empty\\"><t t-esc=\\"company.partner_id\\" t-options=\\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}\\"/></li>\\n                            <li t-else=\\"\\"><t t-esc=\\"company.company_details\\"/></li>\\n                            <li t-if=\\"forced_vat\\">\\n                                <t t-esc=\\"company.country_id.vat_label or 'Tax ID'\\"/>:\\n                                <span t-esc=\\"forced_vat\\"/>\\n                            </li>\\n                        </ul>\\n                    </div>\\n                </div>\\n            </div>\\n            </div>\\n        </div>\\n\\n        <t t-set=\\"layout_background_url\\" t-value=\\"'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''\\"/>\\n        <div t-attf-class=\\"article o_report_layout_boxed o_company_#{company.id}_layout {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}\\" t-attf-style=\\"{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}\\" t-att-data-oe-model=\\"o and o._name\\" t-att-data-oe-id=\\"o and o.id\\" t-att-data-oe-lang=\\"o and o.env.context.get('lang')\\">\\n            <div class=\\"pt-5\\">\\n                <!-- This div ensures that the address is not cropped by the header. -->\\n                <t t-call=\\"web.address_layout\\"/>\\n            </div>\\n            <t t-out=\\"0\\"/>\\n        </div>\\n\\n        <div t-attf-class=\\"footer o_boxed_footer o_company_#{company.id}_layout\\">\\n            <div class=\\"text-center\\">\\n                <div t-field=\\"company.report_footer\\"/>\\n                <div t-if=\\"report_type == 'pdf'\\">\\n                    Trang: <span class=\\"page\\"/>/<span class=\\"topage\\"/>\\n                </div>\\n                <div t-if=\\"report_type == 'pdf' and display_name_in_footer\\" class=\\"text-muted\\">\\n                    <span t-field=\\"o.name\\"/>\\n                </div>\\n            </div>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="web.external_layout_boxed">\n        <div t-attf-class="header o_company_#{company.id}_layout" t-att-style="report_header_style">\n            <div class="o_boxed_header">\n            <div class="row mb8">\n                <div class="col-6">\n                    <img t-if="company.logo" t-att-src="image_data_uri(company.logo)" alt="Logo"/>\n                </div>\n                <div class="col-6 text-end mb4">\n                    <t t-if="company.report_header and company.report_header.strip() != '&lt;p&gt;&lt;br&gt;&lt;/p&gt;'">\n                        <div class="mt0 h4" t-field="company.report_header"/>\n                    </t>\n                    <div name="company_address" class="float-end mb4">\n                        <ul class="list-unstyled">\n                            <li t-if="company.is_company_details_empty"><t t-esc="company.partner_id" t-options="{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}"/></li>\n                            <li t-else=""><t t-esc="company.company_details"/></li>\n                            <li t-if="forced_vat">\n                                <t t-esc="company.country_id.vat_label or 'Tax ID'"/>:\n                                <span t-esc="forced_vat"/>\n                            </li>\n                        </ul>\n                    </div>\n                </div>\n            </div>\n            </div>\n        </div>\n\n        <t t-set="layout_background_url" t-value="'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''"/>\n        <div t-attf-class="article o_report_layout_boxed o_company_#{company.id}_layout {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}" t-attf-style="{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">\n            <div class="pt-5">\n                <!-- This div ensures that the address is not cropped by the header. -->\n                <t t-call="web.address_layout"/>\n            </div>\n            <t t-out="0"/>\n        </div>\n\n        <div t-attf-class="footer o_boxed_footer o_company_#{company.id}_layout">\n            <div class="text-center">\n                <div t-field="company.report_footer"/>\n                <div t-if="report_type == 'pdf'">\n                    Page: <span class="page"/> / <span class="topage"/>\n                </div>\n                <div t-if="report_type == 'pdf' and display_name_in_footer" class="text-muted">\n                    <span t-field="o.name"/>\n                </div>\n            </div>\n        </div>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
201	16	\N	1	1	external_layout_bold	\N	web.external_layout_bold	qweb	web/views/report_templates.xml	\N	primary	{"en_US": "<t t-name=\\"web.external_layout_bold\\">\\n        <div t-attf-class=\\"header o_company_#{company.id}_layout\\" t-att-style=\\"report_header_style\\">\\n            <div class=\\"o_clean_header\\">\\n                <div class=\\"row\\">\\n                    <div class=\\"col-6\\">\\n                        <img t-if=\\"company.logo\\" t-att-src=\\"image_data_uri(company.logo)\\" alt=\\"Logo\\"/>\\n                    </div>\\n                    <div class=\\"col-5 offset-1\\" name=\\"company_address\\">\\n                        <ul class=\\"list-unstyled\\">\\n                            <li t-if=\\"company.is_company_details_empty\\"><t t-esc=\\"company.partner_id\\" t-options=\\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}\\"/></li>\\n                            <li t-else=\\"\\"><t t-esc=\\"company.company_details\\"/></li>\\n                            <li t-if=\\"forced_vat\\">\\n                                <t t-esc=\\"company.country_id.vat_label or 'Tax ID'\\"/>:\\n                                <span t-esc=\\"forced_vat\\"/>\\n                            </li>\\n                        </ul>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n\\n        <t t-set=\\"layout_background_url\\" t-value=\\"'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''\\"/>\\n        <div t-attf-class=\\"article o_report_layout_bold o_company_#{company.id}_layout {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}\\" t-attf-style=\\"{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}\\" t-att-data-oe-model=\\"o and o._name\\" t-att-data-oe-id=\\"o and o.id\\" t-att-data-oe-lang=\\"o and o.env.context.get('lang')\\">\\n            <t t-call=\\"web.address_layout\\"/>\\n            <t t-out=\\"0\\"/>\\n        </div>\\n\\n        <div t-attf-class=\\"footer o_clean_footer o_company_#{company.id}_layout\\">\\n            <div class=\\"row\\">\\n                <div class=\\"col-4\\">\\n                    <span t-field=\\"company.report_footer\\"/>\\n                </div>\\n                <div class=\\"col-4\\">\\n                    <span t-if=\\"company.is_company_details_empty\\" t-field=\\"company.partner_id\\" t-options=\\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}\\"/>\\n                    <span t-else=\\"\\" t-field=\\"company.company_details\\"/>\\n                </div>\\n                <div class=\\"col-3\\">\\n                    <div class=\\"mt0 mb0 h5\\" t-field=\\"company.report_header\\"/>\\n                </div>\\n                <div class=\\"col-1\\">\\n                    <ul t-if=\\"report_type == 'pdf'\\" class=\\"list-inline pagenumber float-end text-center\\">\\n                        <li class=\\"list-inline-item\\"><strong><span class=\\"page\\"/></strong></li>\\n                    </ul>\\n                </div>\\n            </div>\\n        </div>\\n    </t>", "vi_VN": "<t t-name=\\"web.external_layout_bold\\">\\n        <div t-attf-class=\\"header o_company_#{company.id}_layout\\" t-att-style=\\"report_header_style\\">\\n            <div class=\\"o_clean_header\\">\\n                <div class=\\"row\\">\\n                    <div class=\\"col-6\\">\\n                        <img t-if=\\"company.logo\\" t-att-src=\\"image_data_uri(company.logo)\\" alt=\\"Biểu tượng\\"/>\\n                    </div>\\n                    <div class=\\"col-5 offset-1\\" name=\\"company_address\\">\\n                        <ul class=\\"list-unstyled\\">\\n                            <li t-if=\\"company.is_company_details_empty\\"><t t-esc=\\"company.partner_id\\" t-options=\\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}\\"/></li>\\n                            <li t-else=\\"\\"><t t-esc=\\"company.company_details\\"/></li>\\n                            <li t-if=\\"forced_vat\\">\\n                                <t t-esc=\\"company.country_id.vat_label or 'Tax ID'\\"/>:\\n                                <span t-esc=\\"forced_vat\\"/>\\n                            </li>\\n                        </ul>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n\\n        <t t-set=\\"layout_background_url\\" t-value=\\"'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''\\"/>\\n        <div t-attf-class=\\"article o_report_layout_bold o_company_#{company.id}_layout {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}\\" t-attf-style=\\"{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}\\" t-att-data-oe-model=\\"o and o._name\\" t-att-data-oe-id=\\"o and o.id\\" t-att-data-oe-lang=\\"o and o.env.context.get('lang')\\">\\n            <t t-call=\\"web.address_layout\\"/>\\n            <t t-out=\\"0\\"/>\\n        </div>\\n\\n        <div t-attf-class=\\"footer o_clean_footer o_company_#{company.id}_layout\\">\\n            <div class=\\"row\\">\\n                <div class=\\"col-4\\">\\n                    <span t-field=\\"company.report_footer\\"/>\\n                </div>\\n                <div class=\\"col-4\\">\\n                    <span t-if=\\"company.is_company_details_empty\\" t-field=\\"company.partner_id\\" t-options=\\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}\\"/>\\n                    <span t-else=\\"\\" t-field=\\"company.company_details\\"/>\\n                </div>\\n                <div class=\\"col-3\\">\\n                    <div class=\\"mt0 mb0 h5\\" t-field=\\"company.report_header\\"/>\\n                </div>\\n                <div class=\\"col-1\\">\\n                    <ul t-if=\\"report_type == 'pdf'\\" class=\\"list-inline pagenumber float-end text-center\\">\\n                        <li class=\\"list-inline-item\\"><strong><span class=\\"page\\"/></strong></li>\\n                    </ul>\\n                </div>\\n            </div>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="web.external_layout_bold">\n        <div t-attf-class="header o_company_#{company.id}_layout" t-att-style="report_header_style">\n            <div class="o_clean_header">\n                <div class="row">\n                    <div class="col-6">\n                        <img t-if="company.logo" t-att-src="image_data_uri(company.logo)" alt="Logo"/>\n                    </div>\n                    <div class="col-5 offset-1" name="company_address">\n                        <ul class="list-unstyled">\n                            <li t-if="company.is_company_details_empty"><t t-esc="company.partner_id" t-options="{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}"/></li>\n                            <li t-else=""><t t-esc="company.company_details"/></li>\n                            <li t-if="forced_vat">\n                                <t t-esc="company.country_id.vat_label or 'Tax ID'"/>:\n                                <span t-esc="forced_vat"/>\n                            </li>\n                        </ul>\n                    </div>\n                </div>\n            </div>\n        </div>\n\n        <t t-set="layout_background_url" t-value="'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''"/>\n        <div t-attf-class="article o_report_layout_bold o_company_#{company.id}_layout {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}" t-attf-style="{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">\n            <t t-call="web.address_layout"/>\n            <t t-out="0"/>\n        </div>\n\n        <div t-attf-class="footer o_clean_footer o_company_#{company.id}_layout">\n            <div class="row">\n                <div class="col-4">\n                    <span t-field="company.report_footer"/>\n                </div>\n                <div class="col-4">\n                    <span t-if="company.is_company_details_empty" t-field="company.partner_id" t-options="{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}"/>\n                    <span t-else="" t-field="company.company_details"/>\n                </div>\n                <div class="col-3">\n                    <div class="mt0 mb0 h5" t-field="company.report_header"/>\n                </div>\n                <div class="col-1">\n                    <ul t-if="report_type == 'pdf'" class="list-inline pagenumber float-end text-center">\n                        <li class="list-inline-item"><strong><span class="page"/></strong></li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
202	16	\N	1	1	external_layout_standard	\N	web.external_layout_standard	qweb	web/views/report_templates.xml	\N	primary	{"en_US": "<t t-name=\\"web.external_layout_standard\\">\\n        <div t-attf-class=\\"header o_company_#{company.id}_layout\\" t-att-style=\\"report_header_style\\">\\n            <div class=\\"row\\">\\n                <div class=\\"col-3 mb4\\">\\n                    <img t-if=\\"company.logo\\" t-att-src=\\"image_data_uri(company.logo)\\" style=\\"max-height: 45px;\\" alt=\\"Logo\\"/>\\n                </div>\\n                <div class=\\"col-9 text-end\\" style=\\"margin-top:22px;\\" t-field=\\"company.report_header\\" name=\\"moto\\"/>\\n            </div>\\n            <div t-if=\\"company.logo or company.report_header\\" class=\\"row zero_min_height\\">\\n                <div class=\\"col-12\\">\\n                    <div style=\\"border-bottom: 1px solid black;\\"/>\\n                </div>\\n            </div>\\n            <div class=\\"row\\">\\n                <div class=\\"col-6\\" name=\\"company_address\\">\\n                    <ul class=\\"list-unstyled\\">\\n                        <li t-if=\\"company.is_company_details_empty\\"><t t-esc=\\"company.partner_id\\" t-options=\\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}\\"/></li>\\n                        <li t-else=\\"\\"><t t-esc=\\"company.company_details\\"/></li>\\n                        <li t-if=\\"forced_vat\\">\\n                            <t t-esc=\\"company.country_id.vat_label or 'Tax ID'\\"/>:\\n                            <span t-esc=\\"forced_vat\\"/>\\n                        </li>\\n                    </ul>\\n                </div>\\n            </div>\\n        </div>\\n\\n        <t t-set=\\"layout_background_url\\" t-value=\\"'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''\\"/>\\n        <div t-attf-class=\\"article o_report_layout_standard o_company_#{company.id}_layout {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}\\" t-attf-style=\\"{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}\\" t-att-data-oe-model=\\"o and o._name\\" t-att-data-oe-id=\\"o and o.id\\" t-att-data-oe-lang=\\"o and o.env.context.get('lang')\\">\\n            <div class=\\"pt-5\\">\\n                <!-- This div ensures that the address is not cropped by the header. -->\\n                <t t-call=\\"web.address_layout\\"/>\\n            </div>\\n            <t t-out=\\"0\\"/>\\n        </div>\\n\\n        <div t-attf-class=\\"footer o_standard_footer o_company_#{company.id}_layout\\">\\n            <div class=\\"text-center\\" style=\\"border-top: 1px solid black;\\">\\n                <ul class=\\"list-inline mb4\\">\\n                    <div t-field=\\"company.report_footer\\"/>\\n                </ul>\\n\\n                <div t-if=\\"report_type == 'pdf'\\" class=\\"text-muted\\">\\n                    Page: <span class=\\"page\\"/> / <span class=\\"topage\\"/>\\n                </div>\\n                <div t-if=\\"report_type == 'pdf' and display_name_in_footer\\" class=\\"text-muted\\">\\n                    <span t-field=\\"o.name\\"/>\\n                </div>\\n            </div>\\n        </div>\\n    </t>", "vi_VN": "<t t-name=\\"web.external_layout_standard\\">\\n        <div t-attf-class=\\"header o_company_#{company.id}_layout\\" t-att-style=\\"report_header_style\\">\\n            <div class=\\"row\\">\\n                <div class=\\"col-3 mb4\\">\\n                    <img t-if=\\"company.logo\\" t-att-src=\\"image_data_uri(company.logo)\\" style=\\"max-height: 45px;\\" alt=\\"Biểu tượng\\"/>\\n                </div>\\n                <div class=\\"col-9 text-end\\" style=\\"margin-top:22px;\\" t-field=\\"company.report_header\\" name=\\"moto\\"/>\\n            </div>\\n            <div t-if=\\"company.logo or company.report_header\\" class=\\"row zero_min_height\\">\\n                <div class=\\"col-12\\">\\n                    <div style=\\"border-bottom: 1px solid black;\\"/>\\n                </div>\\n            </div>\\n            <div class=\\"row\\">\\n                <div class=\\"col-6\\" name=\\"company_address\\">\\n                    <ul class=\\"list-unstyled\\">\\n                        <li t-if=\\"company.is_company_details_empty\\"><t t-esc=\\"company.partner_id\\" t-options=\\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}\\"/></li>\\n                        <li t-else=\\"\\"><t t-esc=\\"company.company_details\\"/></li>\\n                        <li t-if=\\"forced_vat\\">\\n                            <t t-esc=\\"company.country_id.vat_label or 'Tax ID'\\"/>:\\n                            <span t-esc=\\"forced_vat\\"/>\\n                        </li>\\n                    </ul>\\n                </div>\\n            </div>\\n        </div>\\n\\n        <t t-set=\\"layout_background_url\\" t-value=\\"'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''\\"/>\\n        <div t-attf-class=\\"article o_report_layout_standard o_company_#{company.id}_layout {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}\\" t-attf-style=\\"{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}\\" t-att-data-oe-model=\\"o and o._name\\" t-att-data-oe-id=\\"o and o.id\\" t-att-data-oe-lang=\\"o and o.env.context.get('lang')\\">\\n            <div class=\\"pt-5\\">\\n                <!-- This div ensures that the address is not cropped by the header. -->\\n                <t t-call=\\"web.address_layout\\"/>\\n            </div>\\n            <t t-out=\\"0\\"/>\\n        </div>\\n\\n        <div t-attf-class=\\"footer o_standard_footer o_company_#{company.id}_layout\\">\\n            <div class=\\"text-center\\" style=\\"border-top: 1px solid black;\\">\\n                <ul class=\\"list-inline mb4\\">\\n                    <div t-field=\\"company.report_footer\\"/>\\n                </ul>\\n\\n                <div t-if=\\"report_type == 'pdf'\\" class=\\"text-muted\\">\\n                    Trang: <span class=\\"page\\"/>/<span class=\\"topage\\"/>\\n                </div>\\n                <div t-if=\\"report_type == 'pdf' and display_name_in_footer\\" class=\\"text-muted\\">\\n                    <span t-field=\\"o.name\\"/>\\n                </div>\\n            </div>\\n        </div>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="web.external_layout_standard">\n        <div t-attf-class="header o_company_#{company.id}_layout" t-att-style="report_header_style">\n            <div class="row">\n                <div class="col-3 mb4">\n                    <img t-if="company.logo" t-att-src="image_data_uri(company.logo)" style="max-height: 45px;" alt="Logo"/>\n                </div>\n                <div class="col-9 text-end" style="margin-top:22px;" t-field="company.report_header" name="moto"/>\n            </div>\n            <div t-if="company.logo or company.report_header" class="row zero_min_height">\n                <div class="col-12">\n                    <div style="border-bottom: 1px solid black;"/>\n                </div>\n            </div>\n            <div class="row">\n                <div class="col-6" name="company_address">\n                    <ul class="list-unstyled">\n                        <li t-if="company.is_company_details_empty"><t t-esc="company.partner_id" t-options="{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;], &quot;no_marker&quot;: true}"/></li>\n                        <li t-else=""><t t-esc="company.company_details"/></li>\n                        <li t-if="forced_vat">\n                            <t t-esc="company.country_id.vat_label or 'Tax ID'"/>:\n                            <span t-esc="forced_vat"/>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n\n        <t t-set="layout_background_url" t-value="'data:image/png;base64,%s' % company.layout_background_image.decode('utf-8') if company.layout_background_image and company.layout_background == 'Custom' else '/base/static/img/bg_background_template.jpg' if company.layout_background == 'Geometric' else ''"/>\n        <div t-attf-class="article o_report_layout_standard o_company_#{company.id}_layout {{  'o_report_layout_background' if company.layout_background in ['Geometric', 'Custom']  else  '' }}" t-attf-style="{{ 'background-image: url(%s);' % layout_background_url if layout_background_url else '' }}" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">\n            <div class="pt-5">\n                <!-- This div ensures that the address is not cropped by the header. -->\n                <t t-call="web.address_layout"/>\n            </div>\n            <t t-out="0"/>\n        </div>\n\n        <div t-attf-class="footer o_standard_footer o_company_#{company.id}_layout">\n            <div class="text-center" style="border-top: 1px solid black;">\n                <ul class="list-inline mb4">\n                    <div t-field="company.report_footer"/>\n                </ul>\n\n                <div t-if="report_type == 'pdf'" class="text-muted">\n                    Page: <span class="page"/> / <span class="topage"/>\n                </div>\n                <div t-if="report_type == 'pdf' and display_name_in_footer" class="text-muted">\n                    <span t-field="o.name"/>\n                </div>\n            </div>\n        </div>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
206	16	\N	1	1	preview_internalreport	\N	web.preview_internalreport	qweb	web/views/report_templates.xml	\N	primary	{"en_US": "<t t-name=\\"web.preview_internalreport\\">\\n        <t t-set=\\"company\\" t-value=\\"env.company\\"/>\\n        <t t-call=\\"web.html_container\\">\\n            <t t-set=\\"o\\" t-value=\\"res_company\\"/>\\n            <t t-call=\\"web.internal_layout\\">\\n                <div class=\\"page\\">\\n                    <p>This is a sample of an internal report.</p>\\n                </div>\\n            </t>\\n        </t>\\n    </t>", "vi_VN": "<t t-name=\\"web.preview_internalreport\\">\\n        <t t-set=\\"company\\" t-value=\\"env.company\\"/>\\n        <t t-call=\\"web.html_container\\">\\n            <t t-set=\\"o\\" t-value=\\"res_company\\"/>\\n            <t t-call=\\"web.internal_layout\\">\\n                <div class=\\"page\\">\\n                    <p>Đây là ví dụ của báo cáo nội bộ.</p>\\n                </div>\\n            </t>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="web.preview_internalreport">\n        <t t-set="company" t-value="env.company"/>\n        <t t-call="web.html_container">\n            <t t-set="o" t-value="res_company"/>\n            <t t-call="web.internal_layout">\n                <div class="page">\n                    <p>This is a sample of an internal report.</p>\n                </div>\n            </t>\n        </t>\n    </t>\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1640	16	380	1	1	res.config.settings.view.form.inherit.website	res.config.settings	\N	form	website/views/res_config_settings_views.xml	\N	extension	{"en_US": "<xpath expr=\\"//div[@id='login_documents']\\" position=\\"replace\\"/>"}	<?xml version="1.0"?>\n<!-- Remove customer accounts setting from general settings tab -->\n            <!-- It must not be in the view at all to make sure settings can be saved\n                (because auth_signup_uninvited is specified as required) -->\n            <xpath expr="//div[@id='login_documents']" position="replace"/>\n        	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
207	16	\N	1	1	preview_externalreport	\N	web.preview_externalreport	qweb	web/views/report_templates.xml	\N	primary	{"en_US": "<t t-name=\\"web.preview_externalreport\\">\\n        <t t-set=\\"company\\" t-value=\\"env.company\\"/>\\n        <t t-call=\\"web.html_container\\">\\n            <t t-set=\\"o\\" t-value=\\"res_company\\"/>\\n            <t t-call=\\"web.external_layout\\">\\n                <div class=\\"page\\">\\n                    <p>This is a sample of an external report.</p>\\n                </div>\\n            </t>\\n        </t>\\n    </t>", "vi_VN": "<t t-name=\\"web.preview_externalreport\\">\\n        <t t-set=\\"company\\" t-value=\\"env.company\\"/>\\n        <t t-call=\\"web.html_container\\">\\n            <t t-set=\\"o\\" t-value=\\"res_company\\"/>\\n            <t t-call=\\"web.external_layout\\">\\n                <div class=\\"page\\">\\n                    <p>Đây là một mẫu của external report.</p>\\n                </div>\\n            </t>\\n        </t>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="web.preview_externalreport">\n        <t t-set="company" t-value="env.company"/>\n        <t t-call="web.html_container">\n            <t t-set="o" t-value="res_company"/>\n            <t t-call="web.external_layout">\n                <div class="page">\n                    <p>This is a sample of an external report.</p>\n                </div>\n            </t>\n        </t>\n    </t>\n\n    	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1656	16	99	1	1	view_base_language_install.inherit	base.language.install	\N	form	website/wizard/base_language_install_views.xml	\N	extension	{"en_US": "<group position=\\"inside\\">\\n                <field name=\\"website_ids\\" widget=\\"many2many_checkboxes\\" groups=\\"website.group_multi_website\\"/>\\n            </group>"}	<?xml version="1.0"?>\n<group position="inside">\n                <field name="website_ids" widget="many2many_checkboxes" groups="website.group_multi_website"/>\n            </group>\n        	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
210	16	\N	1	1	Document Layout	base.document.layout	\N	form	web/views/base_document_layout_views.xml	\N	primary	{"en_US": "<form class=\\"o_document_layout\\">\\n                    <group>\\n                        <group class=\\"o_document_layout_company\\">\\n                            <field name=\\"company_id\\" invisible=\\"1\\"/>\\n                            <field name=\\"external_report_layout_id\\" invisible=\\"1\\"/>\\n                            <field name=\\"logo_primary_color\\" invisible=\\"1\\"/>\\n                            <field name=\\"logo_secondary_color\\" invisible=\\"1\\"/>\\n                            <field name=\\"report_layout_id\\" widget=\\"radio\\" string=\\"Layout\\" required=\\"1\\"/>\\n                            <field name=\\"font\\" widget=\\"selection\\" required=\\"1\\"/>\\n                            <field name=\\"logo\\" widget=\\"image\\" options=\\"{'size': [0, 50]}\\"/>\\n                            <label for=\\"primary_color\\" string=\\"Colors\\"/>\\n                            <div class=\\"o_document_layout_colors\\">\\n                                <field name=\\"primary_color\\" widget=\\"color\\"/>\\n                                <field name=\\"secondary_color\\" widget=\\"color\\"/>\\n                                <div class=\\"o_custom_colors\\" title=\\"Reset to logo colors\\" attrs=\\"{'invisible': [('custom_colors', '=', False)]}\\">\\n                                    <span class=\\"fa fa-refresh fa-2x\\"/>\\n                                    <field name=\\"custom_colors\\" nolabel=\\"1\\"/>\\n                                </div>\\n                            </div>\\n                            <field name=\\"layout_background\\" widget=\\"selection\\" required=\\"1\\"/>\\n                            <field name=\\"layout_background_image\\" options=\\"{'accepted_file_extensions': 'image/*'}\\" attrs=\\"{'invisible': [('layout_background', '!=', 'Custom')], 'required': [('layout_background', '=', 'Custom')]}\\">Upload your file</field>\\n                            <field name=\\"report_header\\" placeholder=\\"e.g. Global Business Solutions\\" options=\\"{'resizable': false}\\"/>\\n                            <field name=\\"company_details\\" string=\\"Company Details\\" options=\\"{'resizable': false}\\"/>\\n                            <field name=\\"report_footer\\" string=\\"Footer\\" options=\\"{'resizable': false}\\"/>\\n                            <field name=\\"paperformat_id\\" widget=\\"selection\\" required=\\"1\\" domain=\\"[('report_ids', '=', False)]\\"/>\\n                        </group>\\n                        <div>\\n                            <field name=\\"preview\\" widget=\\"iframe_wrapper\\"/>\\n                            <button name=\\"web.action_report_layout_preview\\" string=\\"Download PDF Preview\\" type=\\"action\\" class=\\"oe_link\\" icon=\\"fa-arrow-right\\"/>\\n                        </div>\\n                    </group>\\n                    <footer>\\n                        <button string=\\"Save\\" class=\\"btn-primary\\" type=\\"object\\" name=\\"document_layout_save\\" data-hotkey=\\"q\\"/>\\n                        <button special=\\"cancel\\" data-hotkey=\\"z\\" string=\\"Cancel\\"/>\\n                    </footer>\\n                </form>", "vi_VN": "<form class=\\"o_document_layout\\">\\n                    <group>\\n                        <group class=\\"o_document_layout_company\\">\\n                            <field name=\\"company_id\\" invisible=\\"1\\"/>\\n                            <field name=\\"external_report_layout_id\\" invisible=\\"1\\"/>\\n                            <field name=\\"logo_primary_color\\" invisible=\\"1\\"/>\\n                            <field name=\\"logo_secondary_color\\" invisible=\\"1\\"/>\\n                            <field name=\\"report_layout_id\\" widget=\\"radio\\" string=\\"Bố cục\\" required=\\"1\\"/>\\n                            <field name=\\"font\\" widget=\\"selection\\" required=\\"1\\"/>\\n                            <field name=\\"logo\\" widget=\\"image\\" options=\\"{'size': [0, 50]}\\"/>\\n                            <label for=\\"primary_color\\" string=\\"Màu\\"/>\\n                            <div class=\\"o_document_layout_colors\\">\\n                                <field name=\\"primary_color\\" widget=\\"color\\"/>\\n                                <field name=\\"secondary_color\\" widget=\\"color\\"/>\\n                                <div class=\\"o_custom_colors\\" title=\\"Đặt lại màu biểu tượng\\" attrs=\\"{'invisible': [('custom_colors', '=', False)]}\\">\\n                                    <span class=\\"fa fa-refresh fa-2x\\"/>\\n                                    <field name=\\"custom_colors\\" nolabel=\\"1\\"/>\\n                                </div>\\n                            </div>\\n                            <field name=\\"layout_background\\" widget=\\"selection\\" required=\\"1\\"/>\\n                            <field name=\\"layout_background_image\\" options=\\"{'accepted_file_extensions': 'image/*'}\\" attrs=\\"{'invisible': [('layout_background', '!=', 'Custom')], 'required': [('layout_background', '=', 'Custom')]}\\">Tải lên tập tin của bạn</field>\\n                            <field name=\\"report_header\\" placeholder=\\"ví dụ: Giải pháp kinh doanh toàn cầu\\" options=\\"{'resizable': false}\\"/>\\n                            <field name=\\"company_details\\" string=\\"Thông tin công ty\\" options=\\"{'resizable': false}\\"/>\\n                            <field name=\\"report_footer\\" string=\\"Footer\\" options=\\"{'resizable': false}\\"/>\\n                            <field name=\\"paperformat_id\\" widget=\\"selection\\" required=\\"1\\" domain=\\"[('report_ids', '=', False)]\\"/>\\n                        </group>\\n                        <div>\\n                            <field name=\\"preview\\" widget=\\"iframe_wrapper\\"/>\\n                            <button name=\\"web.action_report_layout_preview\\" string=\\"Tải xuống bản xem trước\\" type=\\"action\\" class=\\"oe_link\\" icon=\\"fa-arrow-right\\"/>\\n                        </div>\\n                    </group>\\n                    <footer>\\n                        <button string=\\"Lưu\\" class=\\"btn-primary\\" type=\\"object\\" name=\\"document_layout_save\\" data-hotkey=\\"q\\"/>\\n                        <button special=\\"cancel\\" data-hotkey=\\"z\\" string=\\"Hủy\\"/>\\n                    </footer>\\n                </form>"}	<?xml version="1.0"?>\n<form class="o_document_layout">\n                    <group>\n                        <group class="o_document_layout_company">\n                            <field name="company_id" invisible="1"/>\n                            <field name="external_report_layout_id" invisible="1"/>\n                            <field name="logo_primary_color" invisible="1"/>\n                            <field name="logo_secondary_color" invisible="1"/>\n                            <field name="report_layout_id" widget="radio" string="Layout" required="1"/>\n                            <field name="font" widget="selection" required="1"/>\n                            <field name="logo" widget="image" options="{'size': [0, 50]}"/>\n                            <label for="primary_color" string="Colors"/>\n                            <div class="o_document_layout_colors">\n                                <field name="primary_color" widget="color"/>\n                                <field name="secondary_color" widget="color"/>\n                                <div class="o_custom_colors" title="Reset to logo colors" attrs="{'invisible': [('custom_colors', '=', False)]}">\n                                    <span class="fa fa-refresh fa-2x"/>\n                                    <field name="custom_colors" nolabel="1"/>\n                                </div>\n                            </div>\n                            <field name="layout_background" widget="selection" required="1"/>\n                            <field name="layout_background_image" options="{'accepted_file_extensions': 'image/*'}" attrs="{'invisible': [('layout_background', '!=', 'Custom')], 'required': [('layout_background', '=', 'Custom')]}">Upload your file</field>\n                            <field name="report_header" placeholder="e.g. Global Business Solutions" options="{'resizable': false}"/>\n                            <field name="company_details" string="Company Details" options="{'resizable': false}"/>\n                            <field name="report_footer" string="Footer" options="{'resizable': false}"/>\n                            <field name="paperformat_id" widget="selection" required="1" domain="[('report_ids', '=', False)]"/>\n                        </group>\n                        <div>\n                            <field name="preview" widget="iframe_wrapper"/>\n                            <button name="web.action_report_layout_preview" string="Download PDF Preview" type="action" class="oe_link" icon="fa-arrow-right"/>\n                        </div>\n                    </group>\n                    <footer>\n                        <button string="Save" class="btn-primary" type="object" name="document_layout_save" data-hotkey="q"/>\n                        <button special="cancel" data-hotkey="z" string="Cancel"/>\n                    </footer>\n                </form>\n            	f	t	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
282	16	\N	1	1	fetchmail.server.list	fetchmail.server	\N	tree	mail/views/fetchmail_views.xml	\N	primary	{"en_US": "<tree string=\\"POP/IMAP Servers\\">\\n                    <field name=\\"name\\"/>\\n                    <field name=\\"server_type\\"/>\\n                    <field name=\\"user\\"/>\\n                    <field name=\\"date\\"/>\\n                    <field name=\\"state\\" widget=\\"badge\\" decoration-info=\\"state == 'draft'\\" decoration-success=\\"state == 'done'\\"/>\\n                </tree>", "vi_VN": "<tree string=\\"Máy chủ POP/IMAP\\">\\n                    <field name=\\"name\\"/>\\n                    <field name=\\"server_type\\"/>\\n                    <field name=\\"user\\"/>\\n                    <field name=\\"date\\"/>\\n                    <field name=\\"state\\" widget=\\"badge\\" decoration-info=\\"state == 'draft'\\" decoration-success=\\"state == 'done'\\"/>\\n                </tree>"}	<?xml version="1.0"?>\n<tree string="POP/IMAP Servers">\n                    <field name="name"/>\n                    <field name="server_type"/>\n                    <field name="user"/>\n                    <field name="date"/>\n                    <field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'done'"/>\n                </tree>\n            	f	t	2025-06-18 15:58:05.745465	2025-06-18 15:58:05.745465	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1633	16	\N	1	1	website.visitor.view.kanban	website.visitor	\N	kanban	website/views/website_visitor_views.xml	\N	primary	{"en_US": "<kanban class=\\"o_wvisitor_kanban\\" sample=\\"1\\">\\n                <field name=\\"id\\"/>\\n                <field name=\\"country_id\\"/>\\n                <field name=\\"country_flag\\"/>\\n                <field name=\\"email\\"/>\\n                <field name=\\"is_connected\\"/>\\n                <field name=\\"display_name\\"/>\\n                <field name=\\"last_visited_page_id\\"/>\\n                <field name=\\"page_ids\\"/>\\n                <field name=\\"partner_id\\"/>\\n                <field name=\\"partner_image\\"/>\\n                <templates>\\n                    <t t-name=\\"kanban-box\\">\\n                        <div class=\\"oe_kanban_global_click o_wvisitor_kanban_card\\">\\n                            <!-- displayed in ungrouped mode -->\\n                            <div class=\\"o_kanban_detail_ungrouped row mx-0\\">\\n                                <div class=\\"col-lg-2 col-sm-8 col-12 py-0 my-2 my-lg-0\\">\\n                                    <div class=\\"d-flex\\">\\n                                        <div class=\\"o_wvisitor_kanban_image me-3\\">\\n                                            <img t-if=\\"record.partner_image.raw_value\\" t-att-src=\\"kanban_image('res.partner', 'avatar_128', record.partner_id.raw_value)\\" width=\\"54px\\" height=\\"54px\\" alt=\\"Visitor\\"/>\\n                                            <img t-else=\\"\\" t-attf-src=\\"/base/static/img/avatar_grey.png\\" width=\\"54px\\" height=\\"54px\\" alt=\\"Visitor\\"/>\\n                                        </div>\\n                                        <div class=\\"o_wvisitor_name d-flex flex-grow-1 flex-column my-0 my-lg-2\\">\\n                                            <div class=\\"d-flex align-items-start\\">\\n                                                <b><field name=\\"display_name\\"/></b>\\n                                                <span t-if=\\"record.is_connected.raw_value\\" class=\\"fa fa-circle text-success ms-2 my-1\\" aria-label=\\"Online\\" title=\\"Online\\"/>\\n                                                <span t-else=\\"\\" class=\\"fa fa-circle text-danger ms-2 my-1\\" aria-label=\\"Offline\\" title=\\"Offline\\"/>\\n                                            </div>\\n                                            <!-- Double check is necessary for sample view (or error image are shown) -->\\n                                            <div t-if=\\"record.country_id.raw_value and record.country_flag.raw_value\\">\\n                                                <img t-att-src=\\"record.country_flag.raw_value\\" class=\\"o_country_flag\\" alt=\\"Country\\"/>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                                <div class=\\"col-lg col-sm-4 col-6 py-0 my-2\\">\\n                                    <b><field name=\\"time_since_last_action\\"/></b>\\n                                    <div>Last Action</div>\\n                                </div>\\n                                <div class=\\"col-lg col-sm-4 col-6 py-0 my-2\\">\\n                                    <b><field name=\\"visit_count\\"/></b>\\n                                    <div>Visits</div>\\n                                </div>\\n                                <div class=\\"col-lg col-sm-4 col-6 py-0 my-2\\">\\n                                    <span t-att-class=\\"record.page_count.raw_value ? 'fw-bold' : 'text-muted'\\">\\n                                        <field name=\\"last_visited_page_id\\"/>\\n                                    </span>\\n                                    <div t-att-class=\\"record.page_count.raw_value ? '' : 'text-muted'\\">Last Page</div>\\n                                </div>\\n                                <div id=\\"wvisitor_visited_page\\" class=\\"col-lg col-sm-4 col-6 py-0 my-2\\">\\n                                     <span t-att-class=\\"record.page_count.raw_value ? 'fw-bold' : 'text-muted'\\">\\n                                        <field name=\\"page_count\\"/>\\n                                    </span>\\n                                    <div t-att-class=\\"record.page_count.raw_value ? '' : 'text-muted'\\">Visited Pages</div>\\n                                </div>\\n                                <div class=\\"w_visitor_kanban_actions_ungrouped col-lg-3 col-sm-12 py-0 my-2 text-lg-end\\">\\n                                    <button name=\\"action_send_mail\\" type=\\"object\\" class=\\"btn btn-secondary border\\" attrs=\\"{'invisible': [('email', '=', False)]}\\">\\n                                            Email\\n                                    </button>\\n                                </div>\\n                            </div>\\n                            <!-- displayed in grouped mode -->\\n                            <div class=\\"oe_kanban_details\\">\\n                                <div class=\\"float-end\\">\\n                                    <span class=\\"fa fa-circle text-success\\" t-if=\\"record.is_connected.raw_value\\" aria-label=\\"Online\\" title=\\"Online\\"/>\\n                                    <span class=\\"fa fa-circle text-danger\\" t-else=\\"\\" aria-label=\\"Offline\\" title=\\"Offline\\"/>\\n                                </div>\\n                                <strong>\\n                                    <img t-if=\\"record.country_id.raw_value\\" t-att-src=\\"record.country_flag.raw_value\\" class=\\"o_country_flag\\" alt=\\"Country\\"/>\\n                                    <field name=\\"display_name\\"/>\\n                                </strong>\\n                                <div class=\\"mb-2\\">Active <field name=\\"time_since_last_action\\"/></div>\\n                                <div t-if=\\"record.page_count.raw_value\\">Last Page<span class=\\"float-end fw-bold\\"><field name=\\"last_visited_page_id\\"/></span></div>\\n                                <div>Visits<span class=\\"float-end fw-bold\\"><field name=\\"visit_count\\"/></span></div>\\n                                <div t-if=\\"record.page_count.raw_value\\" id=\\"o_page_count\\">Visited Pages<span class=\\"float-end fw-bold\\"><field name=\\"page_count\\"/></span></div>\\n                                <div class=\\"w_visitor_kanban_actions\\">\\n                                    <button name=\\"action_send_mail\\" type=\\"object\\" class=\\"btn btn-secondary\\" attrs=\\"{'invisible': [('email', '=', False)]}\\">\\n                                            Email\\n                                    </button>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </t>\\n                </templates>\\n            </kanban>", "vi_VN": "<kanban class=\\"o_wvisitor_kanban\\" sample=\\"1\\">\\n                <field name=\\"id\\"/>\\n                <field name=\\"country_id\\"/>\\n                <field name=\\"country_flag\\"/>\\n                <field name=\\"email\\"/>\\n                <field name=\\"is_connected\\"/>\\n                <field name=\\"display_name\\"/>\\n                <field name=\\"last_visited_page_id\\"/>\\n                <field name=\\"page_ids\\"/>\\n                <field name=\\"partner_id\\"/>\\n                <field name=\\"partner_image\\"/>\\n                <templates>\\n                    <t t-name=\\"kanban-box\\">\\n                        <div class=\\"oe_kanban_global_click o_wvisitor_kanban_card\\">\\n                            <!-- displayed in ungrouped mode -->\\n                            <div class=\\"o_kanban_detail_ungrouped row mx-0\\">\\n                                <div class=\\"col-lg-2 col-sm-8 col-12 py-0 my-2 my-lg-0\\">\\n                                    <div class=\\"d-flex\\">\\n                                        <div class=\\"o_wvisitor_kanban_image me-3\\">\\n                                            <img t-if=\\"record.partner_image.raw_value\\" t-att-src=\\"kanban_image('res.partner', 'avatar_128', record.partner_id.raw_value)\\" width=\\"54px\\" height=\\"54px\\" alt=\\"Khách\\"/>\\n                                            <img t-else=\\"\\" t-attf-src=\\"/base/static/img/avatar_grey.png\\" width=\\"54px\\" height=\\"54px\\" alt=\\"Khách\\"/>\\n                                        </div>\\n                                        <div class=\\"o_wvisitor_name d-flex flex-grow-1 flex-column my-0 my-lg-2\\">\\n                                            <div class=\\"d-flex align-items-start\\">\\n                                                <b><field name=\\"display_name\\"/></b>\\n                                                <span t-if=\\"record.is_connected.raw_value\\" class=\\"fa fa-circle text-success ms-2 my-1\\" aria-label=\\"Trực tuyến\\" title=\\"Trực tuyến\\"/>\\n                                                <span t-else=\\"\\" class=\\"fa fa-circle text-danger ms-2 my-1\\" aria-label=\\"Ngoại tuyến\\" title=\\"Ngoại tuyến\\"/>\\n                                            </div>\\n                                            <!-- Double check is necessary for sample view (or error image are shown) -->\\n                                            <div t-if=\\"record.country_id.raw_value and record.country_flag.raw_value\\">\\n                                                <img t-att-src=\\"record.country_flag.raw_value\\" class=\\"o_country_flag\\" alt=\\"Quốc gia\\"/>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                                <div class=\\"col-lg col-sm-4 col-6 py-0 my-2\\">\\n                                    <b><field name=\\"time_since_last_action\\"/></b>\\n                                    <div>Tác vụ cuối cùng</div>\\n                                </div>\\n                                <div class=\\"col-lg col-sm-4 col-6 py-0 my-2\\">\\n                                    <b><field name=\\"visit_count\\"/></b>\\n                                    <div>Khách ghé thăm</div>\\n                                </div>\\n                                <div class=\\"col-lg col-sm-4 col-6 py-0 my-2\\">\\n                                    <span t-att-class=\\"record.page_count.raw_value ? 'fw-bold' : 'text-muted'\\">\\n                                        <field name=\\"last_visited_page_id\\"/>\\n                                    </span>\\n                                    <div t-att-class=\\"record.page_count.raw_value ? '' : 'text-muted'\\">Trang mới</div>\\n                                </div>\\n                                <div id=\\"wvisitor_visited_page\\" class=\\"col-lg col-sm-4 col-6 py-0 my-2\\">\\n                                     <span t-att-class=\\"record.page_count.raw_value ? 'fw-bold' : 'text-muted'\\">\\n                                        <field name=\\"page_count\\"/>\\n                                    </span>\\n                                    <div t-att-class=\\"record.page_count.raw_value ? '' : 'text-muted'\\">Trang đã xem</div>\\n                                </div>\\n                                <div class=\\"w_visitor_kanban_actions_ungrouped col-lg-3 col-sm-12 py-0 my-2 text-lg-end\\">\\n                                    <button name=\\"action_send_mail\\" type=\\"object\\" class=\\"btn btn-secondary border\\" attrs=\\"{'invisible': [('email', '=', False)]}\\">\\n                                            Email\\n                                    </button>\\n                                </div>\\n                            </div>\\n                            <!-- displayed in grouped mode -->\\n                            <div class=\\"oe_kanban_details\\">\\n                                <div class=\\"float-end\\">\\n                                    <span class=\\"fa fa-circle text-success\\" t-if=\\"record.is_connected.raw_value\\" aria-label=\\"Trực tuyến\\" title=\\"Trực tuyến\\"/>\\n                                    <span class=\\"fa fa-circle text-danger\\" t-else=\\"\\" aria-label=\\"Ngoại tuyến\\" title=\\"Ngoại tuyến\\"/>\\n                                </div>\\n                                <strong>\\n                                    <img t-if=\\"record.country_id.raw_value\\" t-att-src=\\"record.country_flag.raw_value\\" class=\\"o_country_flag\\" alt=\\"Quốc gia\\"/>\\n                                    <field name=\\"display_name\\"/>\\n                                </strong>\\n                                <div class=\\"mb-2\\">Đang hoạt động <field name=\\"time_since_last_action\\"/></div>\\n                                <div t-if=\\"record.page_count.raw_value\\">Trang mới<span class=\\"float-end fw-bold\\"><field name=\\"last_visited_page_id\\"/></span></div>\\n                                <div>Khách ghé thăm<span class=\\"float-end fw-bold\\"><field name=\\"visit_count\\"/></span></div>\\n                                <div t-if=\\"record.page_count.raw_value\\" id=\\"o_page_count\\">Trang đã xem<span class=\\"float-end fw-bold\\"><field name=\\"page_count\\"/></span></div>\\n                                <div class=\\"w_visitor_kanban_actions\\">\\n                                    <button name=\\"action_send_mail\\" type=\\"object\\" class=\\"btn btn-secondary\\" attrs=\\"{'invisible': [('email', '=', False)]}\\">\\n                                            Email\\n                                    </button>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </t>\\n                </templates>\\n            </kanban>"}	<?xml version="1.0"?>\n<kanban class="o_wvisitor_kanban" sample="1">\n                <field name="id"/>\n                <field name="country_id"/>\n                <field name="country_flag"/>\n                <field name="email"/>\n                <field name="is_connected"/>\n                <field name="display_name"/>\n                <field name="last_visited_page_id"/>\n                <field name="page_ids"/>\n                <field name="partner_id"/>\n                <field name="partner_image"/>\n                <templates>\n                    <t t-name="kanban-box">\n                        <div class="oe_kanban_global_click o_wvisitor_kanban_card">\n                            <!-- displayed in ungrouped mode -->\n                            <div class="o_kanban_detail_ungrouped row mx-0">\n                                <div class="col-lg-2 col-sm-8 col-12 py-0 my-2 my-lg-0">\n                                    <div class="d-flex">\n                                        <div class="o_wvisitor_kanban_image me-3">\n                                            <img t-if="record.partner_image.raw_value" t-att-src="kanban_image('res.partner', 'avatar_128', record.partner_id.raw_value)" width="54px" height="54px" alt="Visitor"/>\n                                            <img t-else="" t-attf-src="/base/static/img/avatar_grey.png" width="54px" height="54px" alt="Visitor"/>\n                                        </div>\n                                        <div class="o_wvisitor_name d-flex flex-grow-1 flex-column my-0 my-lg-2">\n                                            <div class="d-flex align-items-start">\n                                                <b><field name="display_name"/></b>\n                                                <span t-if="record.is_connected.raw_value" class="fa fa-circle text-success ms-2 my-1" aria-label="Online" title="Online"/>\n                                                <span t-else="" class="fa fa-circle text-danger ms-2 my-1" aria-label="Offline" title="Offline"/>\n                                            </div>\n                                            <!-- Double check is necessary for sample view (or error image are shown) -->\n                                            <div t-if="record.country_id.raw_value and record.country_flag.raw_value">\n                                                <img t-att-src="record.country_flag.raw_value" class="o_country_flag" alt="Country"/>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class="col-lg col-sm-4 col-6 py-0 my-2">\n                                    <b><field name="time_since_last_action"/></b>\n                                    <div>Last Action</div>\n                                </div>\n                                <div class="col-lg col-sm-4 col-6 py-0 my-2">\n                                    <b><field name="visit_count"/></b>\n                                    <div>Visits</div>\n                                </div>\n                                <div class="col-lg col-sm-4 col-6 py-0 my-2">\n                                    <span t-att-class="record.page_count.raw_value ? 'fw-bold' : 'text-muted'">\n                                        <field name="last_visited_page_id"/>\n                                    </span>\n                                    <div t-att-class="record.page_count.raw_value ? '' : 'text-muted'">Last Page</div>\n                                </div>\n                                <div id="wvisitor_visited_page" class="col-lg col-sm-4 col-6 py-0 my-2">\n                                     <span t-att-class="record.page_count.raw_value ? 'fw-bold' : 'text-muted'">\n                                        <field name="page_count"/>\n                                    </span>\n                                    <div t-att-class="record.page_count.raw_value ? '' : 'text-muted'">Visited Pages</div>\n                                </div>\n                                <div class="w_visitor_kanban_actions_ungrouped col-lg-3 col-sm-12 py-0 my-2 text-lg-end">\n                                    <button name="action_send_mail" type="object" class="btn btn-secondary border" attrs="{'invisible': [('email', '=', False)]}">\n                                            Email\n                                    </button>\n                                </div>\n                            </div>\n                            <!-- displayed in grouped mode -->\n                            <div class="oe_kanban_details">\n                                <div class="float-end">\n                                    <span class="fa fa-circle text-success" t-if="record.is_connected.raw_value" aria-label="Online" title="Online"/>\n                                    <span class="fa fa-circle text-danger" t-else="" aria-label="Offline" title="Offline"/>\n                                </div>\n                                <strong>\n                                    <img t-if="record.country_id.raw_value" t-att-src="record.country_flag.raw_value" class="o_country_flag" alt="Country"/>\n                                    <field name="display_name"/>\n                                </strong>\n                                <div class="mb-2">Active <field name="time_since_last_action"/></div>\n                                <div t-if="record.page_count.raw_value">Last Page<span class="float-end fw-bold"><field name="last_visited_page_id"/></span></div>\n                                <div>Visits<span class="float-end fw-bold"><field name="visit_count"/></span></div>\n                                <div t-if="record.page_count.raw_value" id="o_page_count">Visited Pages<span class="float-end fw-bold"><field name="page_count"/></span></div>\n                                <div class="w_visitor_kanban_actions">\n                                    <button name="action_send_mail" type="object" class="btn btn-secondary" attrs="{'invisible': [('email', '=', False)]}">\n                                            Email\n                                    </button>\n                                </div>\n                            </div>\n                        </div>\n                    </t>\n                </templates>\n            </kanban>\n        	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
290	16	\N	1	1	mail.notification.view.form	mail.notification	\N	form	mail/views/mail_notification_views.xml	\N	primary	{"en_US": "<form string=\\"Notification\\" duplicate=\\"0\\">\\n                <header>\\n                    <field name=\\"notification_status\\" widget=\\"statusbar\\"/>\\n                </header>\\n                <sheet>\\n                    <group>\\n                        <group string=\\"Source\\">\\n                            <field name=\\"mail_message_id\\"/>\\n                            <field name=\\"notification_type\\"/>\\n                            <field name=\\"mail_mail_id\\"/>\\n                            <field name=\\"res_partner_id\\"/>\\n                        </group>\\n                        <group string=\\"Status\\">\\n                            <field name=\\"is_read\\"/>\\n                            <field name=\\"read_date\\"/>\\n                            <field name=\\"failure_type\\"/>\\n                            <field name=\\"failure_reason\\"/>\\n                        </group>\\n                    </group>\\n                </sheet>\\n            </form>", "vi_VN": "<form string=\\"Thông báo\\" duplicate=\\"0\\">\\n                <header>\\n                    <field name=\\"notification_status\\" widget=\\"statusbar\\"/>\\n                </header>\\n                <sheet>\\n                    <group>\\n                        <group string=\\"Nguồn\\">\\n                            <field name=\\"mail_message_id\\"/>\\n                            <field name=\\"notification_type\\"/>\\n                            <field name=\\"mail_mail_id\\"/>\\n                            <field name=\\"res_partner_id\\"/>\\n                        </group>\\n                        <group string=\\"Trạng thái\\">\\n                            <field name=\\"is_read\\"/>\\n                            <field name=\\"read_date\\"/>\\n                            <field name=\\"failure_type\\"/>\\n                            <field name=\\"failure_reason\\"/>\\n                        </group>\\n                    </group>\\n                </sheet>\\n            </form>"}	<?xml version="1.0"?>\n<form string="Notification" duplicate="0">\n                <header>\n                    <field name="notification_status" widget="statusbar"/>\n                </header>\n                <sheet>\n                    <group>\n                        <group string="Source">\n                            <field name="mail_message_id"/>\n                            <field name="notification_type"/>\n                            <field name="mail_mail_id"/>\n                            <field name="res_partner_id"/>\n                        </group>\n                        <group string="Status">\n                            <field name="is_read"/>\n                            <field name="read_date"/>\n                            <field name="failure_type"/>\n                            <field name="failure_reason"/>\n                        </group>\n                    </group>\n                </sheet>\n            </form>\n        	f	t	2025-06-18 15:58:05.745465	2025-06-18 15:58:05.745465	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
291	20	\N	1	1	mail.message.tree	mail.message	\N	tree	mail/views/mail_message_views.xml	\N	primary	{"en_US": "<tree string=\\"Messages\\">\\n                    <field name=\\"date\\"/>\\n                    <field name=\\"subject\\"/>\\n                    <field name=\\"author_id\\"/>\\n                    <field name=\\"model\\"/>\\n                    <field name=\\"res_id\\"/>\\n                </tree>", "vi_VN": "<tree string=\\"Thông báo\\">\\n                    <field name=\\"date\\"/>\\n                    <field name=\\"subject\\"/>\\n                    <field name=\\"author_id\\"/>\\n                    <field name=\\"model\\"/>\\n                    <field name=\\"res_id\\"/>\\n                </tree>"}	<?xml version="1.0"?>\n<tree string="Messages">\n                    <field name="date"/>\n                    <field name="subject"/>\n                    <field name="author_id"/>\n                    <field name="model"/>\n                    <field name="res_id"/>\n                </tree>\n            	f	t	2025-06-18 15:58:05.745465	2025-06-18 15:58:05.745465	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1510	16	\N	1	1	Carousel	\N	website.s_carousel	qweb	website/views/snippets/s_carousel.xml	\N	primary	{"en_US": "<t name=\\"Carousel\\" t-name=\\"website.s_carousel\\">\\n    <section class=\\"s_carousel_wrapper\\" data-vxml=\\"001\\">\\n        <t t-set=\\"uniq\\" t-value=\\"datetime.datetime.now().microsecond\\"/>\\n        <div t-attf-id=\\"myCarousel{{uniq}}\\" class=\\"s_carousel s_carousel_default carousel slide\\" data-bs-interval=\\"10000\\">\\n            <!-- Indicators -->\\n            <ol class=\\"carousel-indicators\\">\\n                <li t-attf-data-bs-target=\\"#myCarousel{{uniq}}\\" data-bs-slide-to=\\"0\\" class=\\"active\\"/>\\n                <li t-attf-data-bs-target=\\"#myCarousel{{uniq}}\\" data-bs-slide-to=\\"1\\"/>\\n                <li t-attf-data-bs-target=\\"#myCarousel{{uniq}}\\" data-bs-slide-to=\\"2\\"/>\\n            </ol>\\n            <!-- Content -->\\n            <!-- TODO in master: remove the `content` classes in the div with\\n                the class `row`, to avoid having unwanted dropzones when\\n                dragging inner content. -->\\n            <div class=\\"carousel-inner\\">\\n                <!-- #01 -->\\n                <div class=\\"carousel-item active oe_img_bg o_bg_img_center pt152 pb152\\" style=\\"background-image: url('/web/image/website.s_carousel_default_image_1');\\" data-name=\\"Slide\\">\\n                    <div class=\\"container oe_unremovable\\">\\n                        <div class=\\"row content\\">\\n                            <div class=\\"carousel-content col-lg-6\\">\\n                                 <h2><font style=\\"font-size: 62px;\\">Slide Title</font></h2>\\n                                <p class=\\"lead\\">Use this snippet to presents your content in a slideshow-like format. Don't write about products or services here, write about solutions.</p>\\n                                <p>\\n                                    <a href=\\"/contactus\\" class=\\"btn btn-primary mb-2\\">Contact us</a>\\n                                </p>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n                <!-- #02 -->\\n                <div class=\\"carousel-item oe_img_bg o_bg_img_center pt96 pb96\\" style=\\"background-image: url('/web/image/website.s_carousel_default_image_2');\\" data-name=\\"Slide\\">\\n                    <div class=\\"container oe_unremovable\\">\\n                        <div class=\\"row content\\">\\n                            <div class=\\"carousel-content col-lg-8 offset-lg-2 bg-black-50 text-center pt48 pb40\\">\\n                                <h2 style=\\"font-size: 62px;\\">Clever Slogan</h2>\\n                                <div class=\\"s_hr pt8 pb24\\" data-snippet=\\"s_hr\\" data-name=\\"Separator\\">\\n                                    <hr class=\\"w-25 mx-auto\\" style=\\"border-top-width: 1px; border-top-style: solid;\\"/>\\n                                </div>\\n                                <p class=\\"lead\\">Storytelling is powerful.<br/> It draws readers in and engages them.</p>\\n                                <p><a href=\\"/\\" class=\\"btn btn-primary mb-2\\">Start your journey</a></p>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n                <!-- #03 -->\\n                <div class=\\"carousel-item oe_img_bg o_bg_img_center pt128 pb128\\" style=\\"background-image: url('/web/image/website.s_carousel_default_image_3');\\" data-name=\\"Slide\\">\\n                    <div class=\\"container oe_unremovable\\">\\n                        <div class=\\"row content\\">\\n                            <div class=\\"carousel-content col-lg-6 offset-lg-6\\">\\n                                <h2><font style=\\"font-size: 62px; background-color: rgb(255, 255, 255);\\">Edit this title</font></h2>\\n                                <h4><font style=\\"background-color: rgb(255, 255, 255);\\">Good writing is simple, but not simplistic.</font></h4>\\n                                <p><br/></p>\\n                                <p>Good copy starts with understanding how your product or service helps your customers. Simple words communicate better than big words and pompous language.</p>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n            <!-- Controls -->\\n            <a class=\\"carousel-control-prev o_not_editable\\" contenteditable=\\"false\\" t-attf-href=\\"#myCarousel{{uniq}}\\" data-bs-slide=\\"prev\\" role=\\"img\\" aria-label=\\"Previous\\" title=\\"Previous\\">\\n                <span class=\\"carousel-control-prev-icon\\"/>\\n                <span class=\\"visually-hidden\\">Previous</span>\\n            </a>\\n            <a class=\\"carousel-control-next o_not_editable\\" contenteditable=\\"false\\" t-attf-href=\\"#myCarousel{{uniq}}\\" data-bs-slide=\\"next\\" role=\\"img\\" aria-label=\\"Next\\" title=\\"Next\\">\\n                <span class=\\"carousel-control-next-icon\\"/>\\n                <span class=\\"visually-hidden\\">Next</span>\\n            </a>\\n        </div>\\n    </section>\\n</t>", "vi_VN": "<t name=\\"Carousel\\" t-name=\\"website.s_carousel\\">\\n    <section class=\\"s_carousel_wrapper\\" data-vxml=\\"001\\">\\n        <t t-set=\\"uniq\\" t-value=\\"datetime.datetime.now().microsecond\\"/>\\n        <div t-attf-id=\\"myCarousel{{uniq}}\\" class=\\"s_carousel s_carousel_default carousel slide\\" data-bs-interval=\\"10000\\">\\n            <!-- Indicators -->\\n            <ol class=\\"carousel-indicators\\">\\n                <li t-attf-data-bs-target=\\"#myCarousel{{uniq}}\\" data-bs-slide-to=\\"0\\" class=\\"active\\"/>\\n                <li t-attf-data-bs-target=\\"#myCarousel{{uniq}}\\" data-bs-slide-to=\\"1\\"/>\\n                <li t-attf-data-bs-target=\\"#myCarousel{{uniq}}\\" data-bs-slide-to=\\"2\\"/>\\n            </ol>\\n            <!-- Content -->\\n            <!-- TODO in master: remove the `content` classes in the div with\\n                the class `row`, to avoid having unwanted dropzones when\\n                dragging inner content. -->\\n            <div class=\\"carousel-inner\\">\\n                <!-- #01 -->\\n                <div class=\\"carousel-item active oe_img_bg o_bg_img_center pt152 pb152\\" style=\\"background-image: url('/web/image/website.s_carousel_default_image_1');\\" data-name=\\"Slide\\">\\n                    <div class=\\"container oe_unremovable\\">\\n                        <div class=\\"row content\\">\\n                            <div class=\\"carousel-content col-lg-6\\">\\n                                 <h2><font style=\\"font-size: 62px;\\">Tiêu đề trình chiếu</font></h2>\\n                                <p class=\\"lead\\">Sử dụng đoạn mã này để trình bày nội dung của bạn ở định dạng giống như trình chiếu. Đừng viết về sản phẩm hoặc dịch vụ ở đây, hãy viết về giải pháp.</p>\\n                                <p>\\n                                    <a href=\\"/contactus\\" class=\\"btn btn-primary mb-2\\">Liên hệ</a>\\n                                </p>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n                <!-- #02 -->\\n                <div class=\\"carousel-item oe_img_bg o_bg_img_center pt96 pb96\\" style=\\"background-image: url('/web/image/website.s_carousel_default_image_2');\\" data-name=\\"Slide\\">\\n                    <div class=\\"container oe_unremovable\\">\\n                        <div class=\\"row content\\">\\n                            <div class=\\"carousel-content col-lg-8 offset-lg-2 bg-black-50 text-center pt48 pb40\\">\\n                                <h2 style=\\"font-size: 62px;\\">Slogan thông minh</h2>\\n                                <div class=\\"s_hr pt8 pb24\\" data-snippet=\\"s_hr\\" data-name=\\"Separator\\">\\n                                    <hr class=\\"w-25 mx-auto\\" style=\\"border-top-width: 1px; border-top-style: solid;\\"/>\\n                                </div>\\n                                <p class=\\"lead\\">Việc kể chuyện rất mạnh mẽ. <br/> Nó thu hút độc giả.</p>\\n                                <p><a href=\\"/\\" class=\\"btn btn-primary mb-2\\">Bắt đầu hành trình của bạn</a></p>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n                <!-- #03 -->\\n                <div class=\\"carousel-item oe_img_bg o_bg_img_center pt128 pb128\\" style=\\"background-image: url('/web/image/website.s_carousel_default_image_3');\\" data-name=\\"Slide\\">\\n                    <div class=\\"container oe_unremovable\\">\\n                        <div class=\\"row content\\">\\n                            <div class=\\"carousel-content col-lg-6 offset-lg-6\\">\\n                                <h2><font style=\\"font-size: 62px; background-color: rgb(255, 255, 255);\\">Chỉnh tiêu đề</font></h2>\\n                                <h4><font style=\\"background-color: rgb(255, 255, 255);\\"> Viết tốt là đơn giản, nhưng không đơn giản. </font></h4>\\n                                <p><br/></p>\\n                                <p>Bản sao tốt bắt đầu với việc hiểu làm thế nào sản phẩm hoặc dịch vụ của bạn giúp khách hàng của bạn. Những từ đơn giản giao tiếp tốt hơn những từ lớn và ngôn ngữ hào hoa.</p>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n            <!-- Controls -->\\n            <a class=\\"carousel-control-prev o_not_editable\\" contenteditable=\\"false\\" t-attf-href=\\"#myCarousel{{uniq}}\\" data-bs-slide=\\"prev\\" role=\\"img\\" aria-label=\\"Trước đó\\" title=\\"Trước đó\\">\\n                <span class=\\"carousel-control-prev-icon\\"/>\\n                <span class=\\"visually-hidden\\">Trước</span>\\n            </a>\\n            <a class=\\"carousel-control-next o_not_editable\\" contenteditable=\\"false\\" t-attf-href=\\"#myCarousel{{uniq}}\\" data-bs-slide=\\"next\\" role=\\"img\\" aria-label=\\"Kế tiếp\\" title=\\"Kế tiếp\\">\\n                <span class=\\"carousel-control-next-icon\\"/>\\n                <span class=\\"visually-hidden\\">Kế</span>\\n            </a>\\n        </div>\\n    </section>\\n</t>"}	<?xml version="1.0"?>\n<t name="Carousel" t-name="website.s_carousel">\n    <section class="s_carousel_wrapper" data-vxml="001">\n        <t t-set="uniq" t-value="datetime.datetime.now().microsecond"/>\n        <div t-attf-id="myCarousel{{uniq}}" class="s_carousel s_carousel_default carousel slide" data-bs-interval="10000">\n            <!-- Indicators -->\n            <ol class="carousel-indicators">\n                <li t-attf-data-bs-target="#myCarousel{{uniq}}" data-bs-slide-to="0" class="active"/>\n                <li t-attf-data-bs-target="#myCarousel{{uniq}}" data-bs-slide-to="1"/>\n                <li t-attf-data-bs-target="#myCarousel{{uniq}}" data-bs-slide-to="2"/>\n            </ol>\n            <!-- Content -->\n            <!-- TODO in master: remove the `content` classes in the div with\n                the class `row`, to avoid having unwanted dropzones when\n                dragging inner content. -->\n            <div class="carousel-inner">\n                <!-- #01 -->\n                <div class="carousel-item active oe_img_bg o_bg_img_center pt152 pb152" style="background-image: url('/web/image/website.s_carousel_default_image_1');" data-name="Slide">\n                    <div class="container oe_unremovable">\n                        <div class="row content">\n                            <div class="carousel-content col-lg-6">\n                                 <h2><font style="font-size: 62px;">Slide Title</font></h2>\n                                <p class="lead">Use this snippet to presents your content in a slideshow-like format. Don't write about products or services here, write about solutions.</p>\n                                <p>\n                                    <a href="/contactus" class="btn btn-primary mb-2">Contact us</a>\n                                </p>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <!-- #02 -->\n                <div class="carousel-item oe_img_bg o_bg_img_center pt96 pb96" style="background-image: url('/web/image/website.s_carousel_default_image_2');" data-name="Slide">\n                    <div class="container oe_unremovable">\n                        <div class="row content">\n                            <div class="carousel-content col-lg-8 offset-lg-2 bg-black-50 text-center pt48 pb40">\n                                <h2 style="font-size: 62px;">Clever Slogan</h2>\n                                <div class="s_hr pt8 pb24" data-snippet="s_hr" data-name="Separator">\n                                    <hr class="w-25 mx-auto" style="border-top-width: 1px; border-top-style: solid;"/>\n                                </div>\n                                <p class="lead">Storytelling is powerful.<br/> It draws readers in and engages them.</p>\n                                <p><a href="/" class="btn btn-primary mb-2">Start your journey</a></p>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <!-- #03 -->\n                <div class="carousel-item oe_img_bg o_bg_img_center pt128 pb128" style="background-image: url('/web/image/website.s_carousel_default_image_3');" data-name="Slide">\n                    <div class="container oe_unremovable">\n                        <div class="row content">\n                            <div class="carousel-content col-lg-6 offset-lg-6">\n                                <h2><font style="font-size: 62px; background-color: rgb(255, 255, 255);">Edit this title</font></h2>\n                                <h4><font style="background-color: rgb(255, 255, 255);">Good writing is simple, but not simplistic.</font></h4>\n                                <p><br/></p>\n                                <p>Good copy starts with understanding how your product or service helps your customers. Simple words communicate better than big words and pompous language.</p>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n            <!-- Controls -->\n            <a class="carousel-control-prev o_not_editable" contenteditable="false" t-attf-href="#myCarousel{{uniq}}" data-bs-slide="prev" role="img" aria-label="Previous" title="Previous">\n                <span class="carousel-control-prev-icon"/>\n                <span class="visually-hidden">Previous</span>\n            </a>\n            <a class="carousel-control-next o_not_editable" contenteditable="false" t-attf-href="#myCarousel{{uniq}}" data-bs-slide="next" role="img" aria-label="Next" title="Next">\n                <span class="carousel-control-next-icon"/>\n                <span class="visually-hidden">Next</span>\n            </a>\n        </div>\n    </section>\n</t>\n\n	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1525	16	1500	1	1	s_image_gallery_options	\N	website.s_image_gallery_options	qweb	website/views/snippets/s_image_gallery.xml	\N	extension	{"en_US": "<data inherit_id=\\"website.snippet_options\\">\\n    <xpath expr=\\"//t[@t-call='website.snippet_options_background_options']\\" position=\\"before\\">\\n        <div data-js=\\"gallery\\" data-selector=\\".s_image_gallery\\">\\n            <we-row string=\\"Images\\">\\n                <we-button class=\\"o_we_bg_success\\" data-add-images=\\"true\\" data-no-preview=\\"true\\">Add</we-button>\\n                <we-button class=\\"o_we_bg_danger\\" data-remove-all-images=\\"true\\" data-no-preview=\\"true\\">Remove all</we-button>\\n            </we-row>\\n        </div>\\n    </xpath>\\n    <xpath expr=\\".\\" position=\\"inside\\">\\n        <div data-js=\\"gallery\\" data-selector=\\".s_image_gallery\\">\\n            <we-select string=\\"Mode\\" data-dependencies=\\"!slideshow_mode_opt\\">\\n                <we-button data-mode=\\"grid\\" data-name=\\"grid_mode_opt\\">Grid</we-button>\\n                <we-button data-mode=\\"masonry\\" data-name=\\"masonry_mode_opt\\">Masonry</we-button>\\n                <we-button data-mode=\\"nomode\\">Float</we-button>\\n\\n                <!-- Hidden option -->\\n                <we-button data-mode=\\"slideshow\\" data-name=\\"slideshow_mode_opt\\">Slideshow</we-button>\\n            </we-select>\\n            <!--\\n            TODO adapt in master: this was patched in JS to replace\\n            data-attribute-name=\\"interval\\" by data-attribute-name=\\"bsInterval\\"\\n            in order to be consistent with Bootstrap 5.\\n            -->\\n            <we-input string=\\"Speed\\" data-dependencies=\\"slideshow_mode_opt\\" data-apply-to=\\".carousel:first\\" data-select-data-attribute=\\"0s\\" data-attribute-name=\\"interval\\" data-unit=\\"s\\" data-save-unit=\\"ms\\" data-step=\\"0.1\\"/>\\n            <we-select string=\\"Columns\\" data-dependencies=\\"masonry_mode_opt, grid_mode_opt\\">\\n                <we-button data-columns=\\"1\\">1</we-button>\\n                <we-button data-columns=\\"2\\">2</we-button>\\n                <we-button data-columns=\\"3\\">3</we-button>\\n                <we-button data-columns=\\"4\\">4</we-button>\\n                <we-button data-columns=\\"6\\">6</we-button>\\n                <we-button data-columns=\\"12\\">12</we-button>\\n            </we-select>\\n            <we-range string=\\"Images Spacing\\" data-dependencies=\\"!slideshow_mode_opt\\" data-select-class=\\"o_spc-none|o_spc-small|o_spc-medium|o_spc-big\\"/>\\n            <we-select string=\\"Styling\\" data-apply-to=\\"img\\">\\n                <we-button data-select-class=\\"\\">Standard</we-button>\\n                <we-button data-select-class=\\"img-thumbnail\\">Thumbnails</we-button>\\n                <we-button data-select-class=\\"rounded-pill\\">Circle</we-button>\\n                <we-button data-select-class=\\"shadow\\">Shadows</we-button>\\n            </we-select>\\n            <we-select string=\\"Arrows\\" data-dependencies=\\"slideshow_mode_opt\\">\\n                <we-button data-select-class=\\"\\">Standard</we-button>\\n                <we-button data-select-class=\\"s_image_gallery_indicators_arrows_boxed\\">Boxed</we-button>\\n                <we-button data-select-class=\\"s_image_gallery_indicators_arrows_rounded\\">Rounded</we-button>\\n            </we-select>\\n            <we-checkbox string=\\"Image Cover\\" data-select-class=\\"s_image_gallery_cover\\" data-dependencies=\\"slideshow_mode_opt\\"/>\\n            <we-select string=\\"Indicators\\" data-dependencies=\\"slideshow_mode_opt\\">\\n                <we-button data-select-class=\\"\\">None</we-button>\\n                <we-button data-select-class=\\"s_image_gallery_show_indicators s_image_gallery_indicators_dots\\">Dots</we-button>\\n                <we-button data-select-class=\\"s_image_gallery_show_indicators\\">Squared Miniatures</we-button>\\n                <we-button data-select-class=\\"s_image_gallery_show_indicators s_image_gallery_indicators_rounded\\">Rounded Miniatures</we-button>\\n            </we-select>\\n            <t t-call=\\"website.snippet_options_border_widgets\\">\\n                <t t-set=\\"apply_to\\" t-valuef=\\"img\\"/>\\n                <t t-set=\\"so_rounded_no_dependencies\\" t-value=\\"true\\"/>\\n            </t>\\n        </div>\\n        <div data-js=\\"gallery_img\\" data-selector=\\".s_image_gallery img\\">\\n            <we-row string=\\"Re-order\\" data-no-preview=\\"true\\">\\n                <we-button class=\\"fa fa-fw fa-angle-double-left\\" title=\\"Move to first\\" data-position=\\"first\\"/>\\n                <we-button class=\\"fa fa-fw fa-angle-left\\" title=\\"Move to previous\\" data-position=\\"prev\\"/>\\n                <we-button class=\\"fa fa-fw fa-angle-right\\" title=\\"Move to next\\" data-position=\\"next\\"/>\\n                <we-button class=\\"fa fa-fw fa-angle-double-right\\" title=\\"Move to last\\" data-position=\\"last\\"/>\\n            </we-row>\\n        </div>\\n    </xpath>\\n</data>", "vi_VN": "<data inherit_id=\\"website.snippet_options\\">\\n    <xpath expr=\\"//t[@t-call='website.snippet_options_background_options']\\" position=\\"before\\">\\n        <div data-js=\\"gallery\\" data-selector=\\".s_image_gallery\\">\\n            <we-row string=\\"Hình ảnh\\">\\n                <we-button class=\\"o_we_bg_success\\" data-add-images=\\"true\\" data-no-preview=\\"true\\">Thêm</we-button>\\n                <we-button class=\\"o_we_bg_danger\\" data-remove-all-images=\\"true\\" data-no-preview=\\"true\\">Gỡ bỏ tất cả</we-button>\\n            </we-row>\\n        </div>\\n    </xpath>\\n    <xpath expr=\\".\\" position=\\"inside\\">\\n        <div data-js=\\"gallery\\" data-selector=\\".s_image_gallery\\">\\n            <we-select string=\\"Chế độ\\" data-dependencies=\\"!slideshow_mode_opt\\">\\n                <we-button data-mode=\\"grid\\" data-name=\\"grid_mode_opt\\">Lưới</we-button>\\n                <we-button data-mode=\\"masonry\\" data-name=\\"masonry_mode_opt\\">Masonry</we-button>\\n                <we-button data-mode=\\"nomode\\">Float</we-button>\\n\\n                <!-- Hidden option -->\\n                <we-button data-mode=\\"slideshow\\" data-name=\\"slideshow_mode_opt\\">Trình chiếu</we-button>\\n            </we-select>\\n            <!--\\n            TODO adapt in master: this was patched in JS to replace\\n            data-attribute-name=\\"interval\\" by data-attribute-name=\\"bsInterval\\"\\n            in order to be consistent with Bootstrap 5.\\n            -->\\n            <we-input string=\\"Tốc độ\\" data-dependencies=\\"slideshow_mode_opt\\" data-apply-to=\\".carousel:first\\" data-select-data-attribute=\\"0s\\" data-attribute-name=\\"interval\\" data-unit=\\"s\\" data-save-unit=\\"ms\\" data-step=\\"0.1\\"/>\\n            <we-select string=\\"Cột\\" data-dependencies=\\"masonry_mode_opt, grid_mode_opt\\">\\n                <we-button data-columns=\\"1\\">1</we-button>\\n                <we-button data-columns=\\"2\\">2</we-button>\\n                <we-button data-columns=\\"3\\">3</we-button>\\n                <we-button data-columns=\\"4\\">4</we-button>\\n                <we-button data-columns=\\"6\\">6</we-button>\\n                <we-button data-columns=\\"12\\">12</we-button>\\n            </we-select>\\n            <we-range string=\\"Khoảng cách ảnh\\" data-dependencies=\\"!slideshow_mode_opt\\" data-select-class=\\"o_spc-none|o_spc-small|o_spc-medium|o_spc-big\\"/>\\n            <we-select string=\\"Đang nhập\\" data-apply-to=\\"img\\">\\n                <we-button data-select-class=\\"\\">Tiêu chuẩn</we-button>\\n                <we-button data-select-class=\\"img-thumbnail\\">Hình thu nhỏ</we-button>\\n                <we-button data-select-class=\\"rounded-pill\\">Tròn</we-button>\\n                <we-button data-select-class=\\"shadow\\">Đổ bóng</we-button>\\n            </we-select>\\n            <we-select string=\\"Arrows\\" data-dependencies=\\"slideshow_mode_opt\\">\\n                <we-button data-select-class=\\"\\">Tiêu chuẩn</we-button>\\n                <we-button data-select-class=\\"s_image_gallery_indicators_arrows_boxed\\">Đóng hộp</we-button>\\n                <we-button data-select-class=\\"s_image_gallery_indicators_arrows_rounded\\">Bo tròn</we-button>\\n            </we-select>\\n            <we-checkbox string=\\"Ảnh bìa\\" data-select-class=\\"s_image_gallery_cover\\" data-dependencies=\\"slideshow_mode_opt\\"/>\\n            <we-select string=\\"Các chỉ số\\" data-dependencies=\\"slideshow_mode_opt\\">\\n                <we-button data-select-class=\\"\\">Không</we-button>\\n                <we-button data-select-class=\\"s_image_gallery_show_indicators s_image_gallery_indicators_dots\\">Chấm</we-button>\\n                <we-button data-select-class=\\"s_image_gallery_show_indicators\\">Thu nhỏ hình vuông</we-button>\\n                <we-button data-select-class=\\"s_image_gallery_show_indicators s_image_gallery_indicators_rounded\\">Hình tròn thu nhỏ</we-button>\\n            </we-select>\\n            <t t-call=\\"website.snippet_options_border_widgets\\">\\n                <t t-set=\\"apply_to\\" t-valuef=\\"img\\"/>\\n                <t t-set=\\"so_rounded_no_dependencies\\" t-value=\\"true\\"/>\\n            </t>\\n        </div>\\n        <div data-js=\\"gallery_img\\" data-selector=\\".s_image_gallery img\\">\\n            <we-row string=\\"Đặt hàng lại\\" data-no-preview=\\"true\\">\\n                <we-button class=\\"fa fa-fw fa-angle-double-left\\" title=\\"Đến trang đầu\\" data-position=\\"first\\"/>\\n                <we-button class=\\"fa fa-fw fa-angle-left\\" title=\\"Về trước\\" data-position=\\"prev\\"/>\\n                <we-button class=\\"fa fa-fw fa-angle-right\\" title=\\"Kế tiếp\\" data-position=\\"next\\"/>\\n                <we-button class=\\"fa fa-fw fa-angle-double-right\\" title=\\"Đến trang cuối\\" data-position=\\"last\\"/>\\n            </we-row>\\n        </div>\\n    </xpath>\\n</data>"}	<?xml version="1.0"?>\n<data inherit_id="website.snippet_options">\n    <xpath expr="//t[@t-call='website.snippet_options_background_options']" position="before">\n        <div data-js="gallery" data-selector=".s_image_gallery">\n            <we-row string="Images">\n                <we-button class="o_we_bg_success" data-add-images="true" data-no-preview="true">Add</we-button>\n                <we-button class="o_we_bg_danger" data-remove-all-images="true" data-no-preview="true">Remove all</we-button>\n            </we-row>\n        </div>\n    </xpath>\n    <xpath expr="." position="inside">\n        <div data-js="gallery" data-selector=".s_image_gallery">\n            <we-select string="Mode" data-dependencies="!slideshow_mode_opt">\n                <we-button data-mode="grid" data-name="grid_mode_opt">Grid</we-button>\n                <we-button data-mode="masonry" data-name="masonry_mode_opt">Masonry</we-button>\n                <we-button data-mode="nomode">Float</we-button>\n\n                <!-- Hidden option -->\n                <we-button data-mode="slideshow" data-name="slideshow_mode_opt">Slideshow</we-button>\n            </we-select>\n            <!--\n            TODO adapt in master: this was patched in JS to replace\n            data-attribute-name="interval" by data-attribute-name="bsInterval"\n            in order to be consistent with Bootstrap 5.\n            -->\n            <we-input string="Speed" data-dependencies="slideshow_mode_opt" data-apply-to=".carousel:first" data-select-data-attribute="0s" data-attribute-name="interval" data-unit="s" data-save-unit="ms" data-step="0.1"/>\n            <we-select string="Columns" data-dependencies="masonry_mode_opt, grid_mode_opt">\n                <we-button data-columns="1">1</we-button>\n                <we-button data-columns="2">2</we-button>\n                <we-button data-columns="3">3</we-button>\n                <we-button data-columns="4">4</we-button>\n                <we-button data-columns="6">6</we-button>\n                <we-button data-columns="12">12</we-button>\n            </we-select>\n            <we-range string="Images Spacing" data-dependencies="!slideshow_mode_opt" data-select-class="o_spc-none|o_spc-small|o_spc-medium|o_spc-big"/>\n            <we-select string="Styling" data-apply-to="img">\n                <we-button data-select-class="">Standard</we-button>\n                <we-button data-select-class="img-thumbnail">Thumbnails</we-button>\n                <we-button data-select-class="rounded-pill">Circle</we-button>\n                <we-button data-select-class="shadow">Shadows</we-button>\n            </we-select>\n            <we-select string="Arrows" data-dependencies="slideshow_mode_opt">\n                <we-button data-select-class="">Standard</we-button>\n                <we-button data-select-class="s_image_gallery_indicators_arrows_boxed">Boxed</we-button>\n                <we-button data-select-class="s_image_gallery_indicators_arrows_rounded">Rounded</we-button>\n            </we-select>\n            <we-checkbox string="Image Cover" data-select-class="s_image_gallery_cover" data-dependencies="slideshow_mode_opt"/>\n            <we-select string="Indicators" data-dependencies="slideshow_mode_opt">\n                <we-button data-select-class="">None</we-button>\n                <we-button data-select-class="s_image_gallery_show_indicators s_image_gallery_indicators_dots">Dots</we-button>\n                <we-button data-select-class="s_image_gallery_show_indicators">Squared Miniatures</we-button>\n                <we-button data-select-class="s_image_gallery_show_indicators s_image_gallery_indicators_rounded">Rounded Miniatures</we-button>\n            </we-select>\n            <t t-call="website.snippet_options_border_widgets">\n                <t t-set="apply_to" t-valuef="img"/>\n                <t t-set="so_rounded_no_dependencies" t-value="true"/>\n            </t>\n        </div>\n        <div data-js="gallery_img" data-selector=".s_image_gallery img">\n            <we-row string="Re-order" data-no-preview="true">\n                <we-button class="fa fa-fw fa-angle-double-left" title="Move to first" data-position="first"/>\n                <we-button class="fa fa-fw fa-angle-left" title="Move to previous" data-position="prev"/>\n                <we-button class="fa fa-fw fa-angle-right" title="Move to next" data-position="next"/>\n                <we-button class="fa fa-fw fa-angle-double-right" title="Move to last" data-position="last"/>\n            </we-row>\n        </div>\n    </xpath>\n</data>\n\n	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1537	16	1500	1	1	s_popup_options	\N	website.s_popup_options	qweb	website/views/snippets/s_popup.xml	\N	extension	{"en_US": "<data inherit_id=\\"website.snippet_options\\">\\n    <xpath expr=\\".\\" position=\\"inside\\">\\n        <t t-set=\\"base_popup_options\\">\\n            <we-select string=\\"Position\\" data-dependencies=\\"layout_popup_opt\\"> <!-- When cookie configuration only display this for popup mode -->\\n                <we-button data-select-class=\\"s_popup_top\\" data-name=\\"position_top\\">Top</we-button>\\n                <we-button data-select-class=\\"s_popup_middle\\" data-name=\\"position_middle\\">Middle</we-button>\\n                <we-button data-select-class=\\"s_popup_bottom\\" data-name=\\"position_bottom\\">Bottom</we-button>\\n            </we-select>\\n            <we-select string=\\"Size\\" data-apply-to=\\".modal-dialog\\" data-name=\\"s_popup_size_opt\\">\\n                <we-button data-select-class=\\"modal-sm\\">Small</we-button>\\n                <we-button data-select-class=\\"\\" data-name=\\"s_popup_size_md\\">Medium</we-button>\\n                <we-button data-select-class=\\"modal-lg\\">Large</we-button>\\n                <we-button data-select-class=\\"modal-xl\\">Extra Large</we-button>\\n                <we-button data-select-class=\\"s_popup_size_full\\" data-name=\\"s_popup_size_full\\">Full</we-button>\\n            </we-select>\\n            <we-row string=\\"Backdrop\\">\\n                <we-checkbox data-name=\\"popup_backdrop_opt\\" data-select-class=\\"s_popup_no_backdrop|\\" data-set-backdrop=\\"true\\" data-no-preview=\\"true\\"/>\\n                <we-colorpicker data-dependencies=\\"popup_backdrop_opt\\" data-select-style=\\"true\\" data-css-property=\\"background-color\\" data-color-prefix=\\"bg-\\" data-css-compatible=\\"true\\"/>\\n            </we-row>\\n        </t>\\n        <t t-set=\\"extra_popup_options\\">\\n            <we-colorpicker string=\\"Close Button Color\\" data-select-style=\\"true\\" data-css-property=\\"color\\" data-color-prefix=\\"text-\\" data-apply-to=\\".s_popup_close\\"/>\\n            <we-select string=\\"Display\\" data-attribute-name=\\"display\\" data-attribute-default-value=\\"always\\">\\n                <we-button data-select-data-attribute=\\"afterDelay\\" data-name=\\"show_delay\\">Delay</we-button>\\n                <we-button data-select-data-attribute=\\"mouseExit\\">On Exit</we-button>\\n            </we-select>\\n            <we-input string=\\"⌙ Delay\\" title=\\"Automatically opens the pop-up if the user stays on a page longer than the specified time.\\" data-select-data-attribute=\\"\\" data-attribute-name=\\"showAfter\\" data-unit=\\"s\\" data-save-unit=\\"ms\\" data-dependencies=\\"show_delay\\"/>\\n            <t t-set=\\"unit_popup_duration\\">days</t>\\n            <we-input string=\\"Hide For\\" title=\\"Once the user closes the popup, it won't be shown again for that period of time.\\" t-attf-data-select-data-attribute=\\"7#{unit_popup_duration}\\" data-attribute-name=\\"consentsDuration\\" t-att-data-unit=\\"unit_popup_duration\\"/>\\n            <we-select string=\\"Show on\\" data-no-preview=\\"true\\">\\n                <we-button data-move-block=\\"moveToBody\\">This page</we-button>\\n                <we-button data-move-block=\\"moveToFooter\\">All pages</we-button>\\n            </we-select>\\n        </t>\\n        <div data-js=\\"SnippetPopup\\" data-selector=\\".s_popup\\" data-exclude=\\"#website_cookies_bar\\" data-target=\\".modal\\" data-drop-in=\\":not(p).oe_structure:not(.oe_structure_solo):not([data-snippet] *), :not(.o_mega_menu):not(p)[data-oe-type=html]:not([data-snippet] *)\\">\\n            <t t-out=\\"base_popup_options\\"/>\\n            <t t-out=\\"extra_popup_options\\"/>\\n        </div>\\n        <div data-js=\\"SnippetPopup\\" data-selector=\\".s_popup#website_cookies_bar\\" data-target=\\".modal\\">\\n            <t t-out=\\"base_popup_options\\"/>\\n        </div>\\n    </xpath>\\n</data>", "vi_VN": "<data inherit_id=\\"website.snippet_options\\">\\n    <xpath expr=\\".\\" position=\\"inside\\">\\n        <t t-set=\\"base_popup_options\\">\\n            <we-select string=\\"Vị trí\\" data-dependencies=\\"layout_popup_opt\\"> <!-- When cookie configuration only display this for popup mode -->\\n                <we-button data-select-class=\\"s_popup_top\\" data-name=\\"position_top\\">Đầu trang</we-button>\\n                <we-button data-select-class=\\"s_popup_middle\\" data-name=\\"position_middle\\">Giữa</we-button>\\n                <we-button data-select-class=\\"s_popup_bottom\\" data-name=\\"position_bottom\\">Dưới</we-button>\\n            </we-select>\\n            <we-select string=\\"Kích thước\\" data-apply-to=\\".modal-dialog\\" data-name=\\"s_popup_size_opt\\">\\n                <we-button data-select-class=\\"modal-sm\\">Nhỏ</we-button>\\n                <we-button data-select-class=\\"\\" data-name=\\"s_popup_size_md\\">Kênh trung gian</we-button>\\n                <we-button data-select-class=\\"modal-lg\\">Rộng</we-button>\\n                <we-button data-select-class=\\"modal-xl\\">Extra Large</we-button>\\n                <we-button data-select-class=\\"s_popup_size_full\\" data-name=\\"s_popup_size_full\\">Đầy đủ</we-button>\\n            </we-select>\\n            <we-row string=\\"Phông nền\\">\\n                <we-checkbox data-name=\\"popup_backdrop_opt\\" data-select-class=\\"s_popup_no_backdrop|\\" data-set-backdrop=\\"true\\" data-no-preview=\\"true\\"/>\\n                <we-colorpicker data-dependencies=\\"popup_backdrop_opt\\" data-select-style=\\"true\\" data-css-property=\\"background-color\\" data-color-prefix=\\"bg-\\" data-css-compatible=\\"true\\"/>\\n            </we-row>\\n        </t>\\n        <t t-set=\\"extra_popup_options\\">\\n            <we-colorpicker string=\\"Màu nút đóng\\" data-select-style=\\"true\\" data-css-property=\\"color\\" data-color-prefix=\\"text-\\" data-apply-to=\\".s_popup_close\\"/>\\n            <we-select string=\\"Hiển thị\\" data-attribute-name=\\"display\\" data-attribute-default-value=\\"always\\">\\n                <we-button data-select-data-attribute=\\"afterDelay\\" data-name=\\"show_delay\\">Độ trễ</we-button>\\n                <we-button data-select-data-attribute=\\"mouseExit\\">Khi thoát</we-button>\\n            </we-select>\\n            <we-input string=\\"⌙ Delay\\" title=\\"Tự động mở pop-up nếu người dùng ở lại trang lâu hơn thời gian chỉ định.\\" data-select-data-attribute=\\"\\" data-attribute-name=\\"showAfter\\" data-unit=\\"s\\" data-save-unit=\\"ms\\" data-dependencies=\\"show_delay\\"/>\\n            <t t-set=\\"unit_popup_duration\\">ngày</t>\\n            <we-input string=\\"Ẩn Đối với\\" title=\\"Sau khi người dùng đóng cửa sổ bật lên, nó sẽ không hiển thị lại trong môt khoảng thời gian.\\" t-attf-data-select-data-attribute=\\"7#{unit_popup_duration}\\" data-attribute-name=\\"consentsDuration\\" t-att-data-unit=\\"unit_popup_duration\\"/>\\n            <we-select string=\\"Hiển thị trên\\" data-no-preview=\\"true\\">\\n                <we-button data-move-block=\\"moveToBody\\">Trang này</we-button>\\n                <we-button data-move-block=\\"moveToFooter\\">Tất cả trang</we-button>\\n            </we-select>\\n        </t>\\n        <div data-js=\\"SnippetPopup\\" data-selector=\\".s_popup\\" data-exclude=\\"#website_cookies_bar\\" data-target=\\".modal\\" data-drop-in=\\":not(p).oe_structure:not(.oe_structure_solo):not([data-snippet] *), :not(.o_mega_menu):not(p)[data-oe-type=html]:not([data-snippet] *)\\">\\n            <t t-out=\\"base_popup_options\\"/>\\n            <t t-out=\\"extra_popup_options\\"/>\\n        </div>\\n        <div data-js=\\"SnippetPopup\\" data-selector=\\".s_popup#website_cookies_bar\\" data-target=\\".modal\\">\\n            <t t-out=\\"base_popup_options\\"/>\\n        </div>\\n    </xpath>\\n</data>"}	<?xml version="1.0"?>\n<data inherit_id="website.snippet_options">\n    <xpath expr="." position="inside">\n        <t t-set="base_popup_options">\n            <we-select string="Position" data-dependencies="layout_popup_opt"> <!-- When cookie configuration only display this for popup mode -->\n                <we-button data-select-class="s_popup_top" data-name="position_top">Top</we-button>\n                <we-button data-select-class="s_popup_middle" data-name="position_middle">Middle</we-button>\n                <we-button data-select-class="s_popup_bottom" data-name="position_bottom">Bottom</we-button>\n            </we-select>\n            <we-select string="Size" data-apply-to=".modal-dialog" data-name="s_popup_size_opt">\n                <we-button data-select-class="modal-sm">Small</we-button>\n                <we-button data-select-class="" data-name="s_popup_size_md">Medium</we-button>\n                <we-button data-select-class="modal-lg">Large</we-button>\n                <we-button data-select-class="modal-xl">Extra Large</we-button>\n                <we-button data-select-class="s_popup_size_full" data-name="s_popup_size_full">Full</we-button>\n            </we-select>\n            <we-row string="Backdrop">\n                <we-checkbox data-name="popup_backdrop_opt" data-select-class="s_popup_no_backdrop|" data-set-backdrop="true" data-no-preview="true"/>\n                <we-colorpicker data-dependencies="popup_backdrop_opt" data-select-style="true" data-css-property="background-color" data-color-prefix="bg-" data-css-compatible="true"/>\n            </we-row>\n        </t>\n        <t t-set="extra_popup_options">\n            <we-colorpicker string="Close Button Color" data-select-style="true" data-css-property="color" data-color-prefix="text-" data-apply-to=".s_popup_close"/>\n            <we-select string="Display" data-attribute-name="display" data-attribute-default-value="always">\n                <we-button data-select-data-attribute="afterDelay" data-name="show_delay">Delay</we-button>\n                <we-button data-select-data-attribute="mouseExit">On Exit</we-button>\n            </we-select>\n            <we-input string="⌙ Delay" title="Automatically opens the pop-up if the user stays on a page longer than the specified time." data-select-data-attribute="" data-attribute-name="showAfter" data-unit="s" data-save-unit="ms" data-dependencies="show_delay"/>\n            <t t-set="unit_popup_duration">days</t>\n            <we-input string="Hide For" title="Once the user closes the popup, it won't be shown again for that period of time." t-attf-data-select-data-attribute="7#{unit_popup_duration}" data-attribute-name="consentsDuration" t-att-data-unit="unit_popup_duration"/>\n            <we-select string="Show on" data-no-preview="true">\n                <we-button data-move-block="moveToBody">This page</we-button>\n                <we-button data-move-block="moveToFooter">All pages</we-button>\n            </we-select>\n        </t>\n        <div data-js="SnippetPopup" data-selector=".s_popup" data-exclude="#website_cookies_bar" data-target=".modal" data-drop-in=":not(p).oe_structure:not(.oe_structure_solo):not([data-snippet] *), :not(.o_mega_menu):not(p)[data-oe-type=html]:not([data-snippet] *)">\n            <t t-out="base_popup_options"/>\n            <t t-out="extra_popup_options"/>\n        </div>\n        <div data-js="SnippetPopup" data-selector=".s_popup#website_cookies_bar" data-target=".modal">\n            <t t-out="base_popup_options"/>\n        </div>\n    </xpath>\n</data>\n\n	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1538	16	\N	1	1	Accordion	\N	website.s_faq_collapse	qweb	website/views/snippets/s_faq_collapse.xml	\N	primary	{"en_US": "<t name=\\"Accordion\\" t-name=\\"website.s_faq_collapse\\">\\n    <section class=\\"s_faq_collapse pt32 pb32\\">\\n        <t t-set=\\"uniq\\" t-value=\\"datetime.datetime.now().microsecond\\"/>\\n        <div class=\\"container\\">\\n            <div id=\\"myCollapse\\" class=\\"accordion\\" role=\\"tablist\\">\\n                <div class=\\"card bg-white\\" data-name=\\"Item\\">\\n                    <a href=\\"#\\" t-attf-data-bs-target=\\"#myCollapseTab{{uniq}}_1\\" role=\\"tab\\" data-bs-toggle=\\"collapse\\" aria-expanded=\\"true\\" class=\\"card-header\\">Terms of service</a>\\n                    <div t-attf-id=\\"myCollapseTab{{uniq}}_1\\" class=\\"collapse show\\" data-bs-parent=\\"#myCollapse\\" role=\\"tabpanel\\">\\n                        <div class=\\"card-body\\">\\n                            <p class=\\"card-text\\">These terms of service (\\"Terms\\", \\"Agreement\\") are an agreement between the website (\\"Website operator\\", \\"us\\", \\"we\\" or \\"our\\") and you (\\"User\\", \\"you\\" or \\"your\\"). This Agreement sets forth the general terms and conditions of your use of this website and any of its products or services (collectively, \\"Website\\" or \\"Services\\").</p>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div class=\\"card bg-white\\" data-name=\\"Item\\">\\n                    <a href=\\"#\\" t-attf-data-bs-target=\\"#myCollapseTab{{uniq}}_2\\" role=\\"tab\\" data-bs-toggle=\\"collapse\\" aria-expanded=\\"false\\" class=\\"collapsed card-header\\">Links to other Websites</a>\\n                    <div t-attf-id=\\"myCollapseTab{{uniq}}_2\\" class=\\"collapse\\" data-bs-parent=\\"#myCollapse\\" role=\\"tabpanel\\">\\n                        <div class=\\"card-body\\">\\n                            <p class=\\"card-text\\">Although this Website may be linked to other websites, we are not, directly or indirectly, implying any approval, association, sponsorship, endorsement, or affiliation with any linked website, unless specifically stated herein.</p>\\n                            <p class=\\"card-text\\">You should carefully review the legal statements and other conditions of use of any website which you access through a link from this Website. Your linking to any other off-site pages or other websites is at your own risk.</p>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div class=\\"card bg-white\\" data-name=\\"Item\\">\\n                    <a href=\\"#\\" t-attf-data-bs-target=\\"#myCollapseTab{{uniq}}_3\\" role=\\"tab\\" data-bs-toggle=\\"collapse\\" aria-expanded=\\"false\\" class=\\"collapsed card-header\\">Use of Cookies</a>\\n                    <div t-attf-id=\\"myCollapseTab{{uniq}}_3\\" class=\\"collapse\\" data-bs-parent=\\"#myCollapse\\" role=\\"tabpanel\\">\\n                        <div class=\\"card-body\\">\\n                            <p class=\\"card-text\\">Website may use cookies to personalize and facilitate maximum navigation of the User by this site. The User may configure his / her browser to notify and reject the installation of the cookies sent by us.</p>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n    </section>\\n</t>", "vi_VN": "<t name=\\"Accordion\\" t-name=\\"website.s_faq_collapse\\">\\n    <section class=\\"s_faq_collapse pt32 pb32\\">\\n        <t t-set=\\"uniq\\" t-value=\\"datetime.datetime.now().microsecond\\"/>\\n        <div class=\\"container\\">\\n            <div id=\\"myCollapse\\" class=\\"accordion\\" role=\\"tablist\\">\\n                <div class=\\"card bg-white\\" data-name=\\"Item\\">\\n                    <a href=\\"#\\" t-attf-data-bs-target=\\"#myCollapseTab{{uniq}}_1\\" role=\\"tab\\" data-bs-toggle=\\"collapse\\" aria-expanded=\\"true\\" class=\\"card-header\\">Điều khoản dịch vụ</a>\\n                    <div t-attf-id=\\"myCollapseTab{{uniq}}_1\\" class=\\"collapse show\\" data-bs-parent=\\"#myCollapse\\" role=\\"tabpanel\\">\\n                        <div class=\\"card-body\\">\\n                            <p class=\\"card-text\\">Các điều khoản dịch vụ này (\\"Điều khoản\\", \\"Thỏa thuận\\") là một thỏa thuận giữa trang web (\\"Nhà điều hành trang web\\", \\"chúng tôi\\", \\"chúng tôi\\" hoặc \\"của chúng tôi\\") và bạn (\\"Người dùng\\", \\"bạn\\" hoặc \\"của bạn \\"). Thỏa thuận này nêu ra các điều khoản và điều kiện chung về việc bạn sử dụng trang web này và bất kỳ sản phẩm hoặc dịch vụ nào của nó (gọi chung là \\"Trang web\\" hoặc \\"Dịch vụ\\").</p>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div class=\\"card bg-white\\" data-name=\\"Item\\">\\n                    <a href=\\"#\\" t-attf-data-bs-target=\\"#myCollapseTab{{uniq}}_2\\" role=\\"tab\\" data-bs-toggle=\\"collapse\\" aria-expanded=\\"false\\" class=\\"collapsed card-header\\">Liên kết đến các trang web khác</a>\\n                    <div t-attf-id=\\"myCollapseTab{{uniq}}_2\\" class=\\"collapse\\" data-bs-parent=\\"#myCollapse\\" role=\\"tabpanel\\">\\n                        <div class=\\"card-body\\">\\n                            <p class=\\"card-text\\">Mặc dù trang web này có thể được liên kết với các trang web khác, nhưng chúng tôi không, trực tiếp hoặc gián tiếp, ngụ ý bất kỳ sự chấp thuận, liên kết, tài trợ, chứng thực hoặc liên kết với bất kỳ trang web được liên kết nào, trừ khi được quy định cụ thể ở đây.</p>\\n                            <p class=\\"card-text\\">Bạn nên xem xét cẩn thận các tuyên bố pháp lý và các điều kiện sử dụng khác của bất kỳ trang web nào bạn truy cập thông qua một liên kết từ trang web này. Liên kết của bạn đến bất kỳ trang ngoài trang web hoặc các trang web khác là nguy cơ của riêng bạn.</p>\\n                        </div>\\n                    </div>\\n                </div>\\n                <div class=\\"card bg-white\\" data-name=\\"Item\\">\\n                    <a href=\\"#\\" t-attf-data-bs-target=\\"#myCollapseTab{{uniq}}_3\\" role=\\"tab\\" data-bs-toggle=\\"collapse\\" aria-expanded=\\"false\\" class=\\"collapsed card-header\\">Sử dụng cookie</a>\\n                    <div t-attf-id=\\"myCollapseTab{{uniq}}_3\\" class=\\"collapse\\" data-bs-parent=\\"#myCollapse\\" role=\\"tabpanel\\">\\n                        <div class=\\"card-body\\">\\n                            <p class=\\"card-text\\">Trang web có thể sử dụng cookie để cá nhân hóa và hỗ trợ điều hướng tối đa cho người dùng bởi trang web này. Người dùng có thể định cấu hình trình duyệt của mình để thông báo và từ chối cài đặt cookie do chúng tôi gửi.</p>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n        </div>\\n    </section>\\n</t>"}	<?xml version="1.0"?>\n<t name="Accordion" t-name="website.s_faq_collapse">\n    <section class="s_faq_collapse pt32 pb32">\n        <t t-set="uniq" t-value="datetime.datetime.now().microsecond"/>\n        <div class="container">\n            <div id="myCollapse" class="accordion" role="tablist">\n                <div class="card bg-white" data-name="Item">\n                    <a href="#" t-attf-data-bs-target="#myCollapseTab{{uniq}}_1" role="tab" data-bs-toggle="collapse" aria-expanded="true" class="card-header">Terms of service</a>\n                    <div t-attf-id="myCollapseTab{{uniq}}_1" class="collapse show" data-bs-parent="#myCollapse" role="tabpanel">\n                        <div class="card-body">\n                            <p class="card-text">These terms of service ("Terms", "Agreement") are an agreement between the website ("Website operator", "us", "we" or "our") and you ("User", "you" or "your"). This Agreement sets forth the general terms and conditions of your use of this website and any of its products or services (collectively, "Website" or "Services").</p>\n                        </div>\n                    </div>\n                </div>\n                <div class="card bg-white" data-name="Item">\n                    <a href="#" t-attf-data-bs-target="#myCollapseTab{{uniq}}_2" role="tab" data-bs-toggle="collapse" aria-expanded="false" class="collapsed card-header">Links to other Websites</a>\n                    <div t-attf-id="myCollapseTab{{uniq}}_2" class="collapse" data-bs-parent="#myCollapse" role="tabpanel">\n                        <div class="card-body">\n                            <p class="card-text">Although this Website may be linked to other websites, we are not, directly or indirectly, implying any approval, association, sponsorship, endorsement, or affiliation with any linked website, unless specifically stated herein.</p>\n                            <p class="card-text">You should carefully review the legal statements and other conditions of use of any website which you access through a link from this Website. Your linking to any other off-site pages or other websites is at your own risk.</p>\n                        </div>\n                    </div>\n                </div>\n                <div class="card bg-white" data-name="Item">\n                    <a href="#" t-attf-data-bs-target="#myCollapseTab{{uniq}}_3" role="tab" data-bs-toggle="collapse" aria-expanded="false" class="collapsed card-header">Use of Cookies</a>\n                    <div t-attf-id="myCollapseTab{{uniq}}_3" class="collapse" data-bs-parent="#myCollapse" role="tabpanel">\n                        <div class="card-body">\n                            <p class="card-text">Website may use cookies to personalize and facilitate maximum navigation of the User by this site. The User may configure his / her browser to notify and reject the installation of the cookies sent by us.</p>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </section>\n</t>\n\n	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1563	16	1500	1	1	s_media_list_options	\N	website.s_media_list_options	qweb	website/views/snippets/s_media_list.xml	\N	extension	{"en_US": "<data inherit_id=\\"website.snippet_options\\">\\n    <xpath expr=\\"//t[@t-call='website.snippet_options_background_options']\\" position=\\"before\\">\\n        <div data-js=\\"MultipleItems\\" data-selector=\\".s_media_list\\">\\n            <we-row string=\\"Media\\">\\n                <we-button data-add-item=\\"\\" data-item=\\".s_media_list_item:last\\" data-select-item=\\"\\" data-no-preview=\\"true\\" class=\\"o_we_bg_brand_primary\\">\\n                    Add Media\\n                </we-button>\\n            </we-row>\\n        </div>\\n    </xpath>\\n    <xpath expr=\\".\\" position=\\"inside\\">\\n        <t t-call=\\"website.snippet_options_background_options\\">\\n            <t t-set=\\"selector\\" t-value=\\"'.s_media_list_item'\\"/>\\n            <t t-set=\\"target\\" t-value=\\"'&gt; .row'\\"/>\\n            <t t-set=\\"with_colors\\" t-value=\\"True\\"/>\\n            <t t-set=\\"with_images\\" t-value=\\"False\\"/>\\n            <t t-set=\\"with_color_combinations\\" t-value=\\"True\\"/>\\n            <t t-set=\\"with_gradients\\" t-value=\\"True\\"/>\\n        </t>\\n        <div data-js=\\"Box\\" data-selector=\\".s_media_list_item\\" data-target=\\"&gt; .row\\">\\n            <t t-call=\\"website.snippet_options_border_widgets\\"/>\\n            <t t-call=\\"website.snippet_options_shadow_widgets\\"/>\\n        </div>\\n        <div data-selector=\\".s_media_list_item\\" data-target=\\"&gt; .row\\">\\n            <we-button-group string=\\"Layout\\">\\n                <we-button title=\\"Left\\" data-name=\\"media_left_opt\\" data-select-class=\\"\\" data-img=\\"/website/static/src/img/snippets_options/image_left.svg\\"/>\\n                <we-button title=\\"Right\\" data-select-class=\\"flex-row-reverse\\" data-img=\\"/website/static/src/img/snippets_options/image_right.svg\\"/>\\n            </we-button-group>\\n        </div>\\n        <div data-js=\\"MediaItemLayout\\" data-selector=\\".s_media_list_item\\">\\n            <we-button-group string=\\"Image Size\\" data-dependencies=\\"media_left_opt\\">\\n                <we-button data-layout=\\"3\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_4.svg\\" title=\\"1/4 - 3/4\\"/>\\n                <we-button data-layout=\\"4\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_3.svg\\" title=\\"1/3 - 2/3\\"/>\\n                <we-button data-layout=\\"6\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_2.svg\\" title=\\"1/2 - 1/2\\"/>\\n            </we-button-group>\\n            <we-button-group string=\\"Image Size\\" data-dependencies=\\"!media_left_opt\\">\\n                <we-button data-layout=\\"3\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_4_right.svg\\" title=\\"1/4 - 3/4\\"/>\\n                <we-button data-layout=\\"4\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_3_right.svg\\" title=\\"1/3 - 2/3\\"/>\\n                <we-button data-layout=\\"6\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_2_right.svg\\" title=\\"1/2 - 1/2\\"/>\\n            </we-button-group>\\n        </div>\\n\\n        <div data-selector=\\".s_media_list_item\\" data-target=\\"&gt; .row\\">\\n            <!-- Don't use the standard Vert. Alignement option to not suggest\\n                 Equal Height, which is useless for this snippet. -->\\n            <we-button-group string=\\"Text Position\\" title=\\"Text Position\\" data-dependencies=\\"media_left_opt\\">\\n                <we-button title=\\"Align Top\\" data-select-class=\\"align-items-start\\" data-img=\\"/website/static/src/img/snippets_options/align_top_right.svg\\"/>\\n                <we-button title=\\"Align Middle\\" data-select-class=\\"align-items-center\\" data-img=\\"/website/static/src/img/snippets_options/align_middle_right.svg\\"/>\\n                <we-button title=\\"Align Bottom\\" data-select-class=\\"align-items-end\\" data-img=\\"/website/static/src/img/snippets_options/align_bottom_right.svg\\"/>\\n            </we-button-group>\\n            <we-button-group string=\\"Text Position\\" title=\\"Text Position\\" data-dependencies=\\"!media_left_opt\\">\\n                <we-button title=\\"Align Top\\" data-select-class=\\"align-items-start\\" data-img=\\"/website/static/src/img/snippets_options/align_top.svg\\"/>\\n                <we-button title=\\"Align Middle\\" data-select-class=\\"align-items-center\\" data-img=\\"/website/static/src/img/snippets_options/align_middle.svg\\"/>\\n                <we-button title=\\"Align Bottom\\" data-select-class=\\"align-items-end\\" data-img=\\"/website/static/src/img/snippets_options/align_bottom.svg\\"/>\\n            </we-button-group>\\n        </div>\\n    </xpath>\\n</data>", "vi_VN": "<data inherit_id=\\"website.snippet_options\\">\\n    <xpath expr=\\"//t[@t-call='website.snippet_options_background_options']\\" position=\\"before\\">\\n        <div data-js=\\"MultipleItems\\" data-selector=\\".s_media_list\\">\\n            <we-row string=\\"Phương tiện\\">\\n                <we-button data-add-item=\\"\\" data-item=\\".s_media_list_item:last\\" data-select-item=\\"\\" data-no-preview=\\"true\\" class=\\"o_we_bg_brand_primary\\">\\n                    Thêm phương tiện\\n                </we-button>\\n            </we-row>\\n        </div>\\n    </xpath>\\n    <xpath expr=\\".\\" position=\\"inside\\">\\n        <t t-call=\\"website.snippet_options_background_options\\">\\n            <t t-set=\\"selector\\" t-value=\\"'.s_media_list_item'\\"/>\\n            <t t-set=\\"target\\" t-value=\\"'&gt; .row'\\"/>\\n            <t t-set=\\"with_colors\\" t-value=\\"True\\"/>\\n            <t t-set=\\"with_images\\" t-value=\\"False\\"/>\\n            <t t-set=\\"with_color_combinations\\" t-value=\\"True\\"/>\\n            <t t-set=\\"with_gradients\\" t-value=\\"True\\"/>\\n        </t>\\n        <div data-js=\\"Box\\" data-selector=\\".s_media_list_item\\" data-target=\\"&gt; .row\\">\\n            <t t-call=\\"website.snippet_options_border_widgets\\"/>\\n            <t t-call=\\"website.snippet_options_shadow_widgets\\"/>\\n        </div>\\n        <div data-selector=\\".s_media_list_item\\" data-target=\\"&gt; .row\\">\\n            <we-button-group string=\\"Bố cục\\">\\n                <we-button title=\\"Trái\\" data-name=\\"media_left_opt\\" data-select-class=\\"\\" data-img=\\"/website/static/src/img/snippets_options/image_left.svg\\"/>\\n                <we-button title=\\"Phải\\" data-select-class=\\"flex-row-reverse\\" data-img=\\"/website/static/src/img/snippets_options/image_right.svg\\"/>\\n            </we-button-group>\\n        </div>\\n        <div data-js=\\"MediaItemLayout\\" data-selector=\\".s_media_list_item\\">\\n            <we-button-group string=\\"Kích thước hình ảnh\\" data-dependencies=\\"media_left_opt\\">\\n                <we-button data-layout=\\"3\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_4.svg\\" title=\\"1/4 - 3/4\\"/>\\n                <we-button data-layout=\\"4\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_3.svg\\" title=\\"1/3 - 2/3\\"/>\\n                <we-button data-layout=\\"6\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_2.svg\\" title=\\"1/2 - 1/2\\"/>\\n            </we-button-group>\\n            <we-button-group string=\\"Kích thước hình ảnh\\" data-dependencies=\\"!media_left_opt\\">\\n                <we-button data-layout=\\"3\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_4_right.svg\\" title=\\"1/4 - 3/4\\"/>\\n                <we-button data-layout=\\"4\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_3_right.svg\\" title=\\"1/3 - 2/3\\"/>\\n                <we-button data-layout=\\"6\\" data-img=\\"/website/static/src/img/snippets_options/media_layout_1_2_right.svg\\" title=\\"1/2 - 1/2\\"/>\\n            </we-button-group>\\n        </div>\\n\\n        <div data-selector=\\".s_media_list_item\\" data-target=\\"&gt; .row\\">\\n            <!-- Don't use the standard Vert. Alignement option to not suggest\\n                 Equal Height, which is useless for this snippet. -->\\n            <we-button-group string=\\"Text Position\\" title=\\"Text Position\\" data-dependencies=\\"media_left_opt\\">\\n                <we-button title=\\"Align Top\\" data-select-class=\\"align-items-start\\" data-img=\\"/website/static/src/img/snippets_options/align_top_right.svg\\"/>\\n                <we-button title=\\"Align Middle\\" data-select-class=\\"align-items-center\\" data-img=\\"/website/static/src/img/snippets_options/align_middle_right.svg\\"/>\\n                <we-button title=\\"Align Bottom\\" data-select-class=\\"align-items-end\\" data-img=\\"/website/static/src/img/snippets_options/align_bottom_right.svg\\"/>\\n            </we-button-group>\\n            <we-button-group string=\\"Text Position\\" title=\\"Text Position\\" data-dependencies=\\"!media_left_opt\\">\\n                <we-button title=\\"Align Top\\" data-select-class=\\"align-items-start\\" data-img=\\"/website/static/src/img/snippets_options/align_top.svg\\"/>\\n                <we-button title=\\"Align Middle\\" data-select-class=\\"align-items-center\\" data-img=\\"/website/static/src/img/snippets_options/align_middle.svg\\"/>\\n                <we-button title=\\"Align Bottom\\" data-select-class=\\"align-items-end\\" data-img=\\"/website/static/src/img/snippets_options/align_bottom.svg\\"/>\\n            </we-button-group>\\n        </div>\\n    </xpath>\\n</data>"}	<?xml version="1.0"?>\n<data inherit_id="website.snippet_options">\n    <xpath expr="//t[@t-call='website.snippet_options_background_options']" position="before">\n        <div data-js="MultipleItems" data-selector=".s_media_list">\n            <we-row string="Media">\n                <we-button data-add-item="" data-item=".s_media_list_item:last" data-select-item="" data-no-preview="true" class="o_we_bg_brand_primary">\n                    Add Media\n                </we-button>\n            </we-row>\n        </div>\n    </xpath>\n    <xpath expr="." position="inside">\n        <t t-call="website.snippet_options_background_options">\n            <t t-set="selector" t-value="'.s_media_list_item'"/>\n            <t t-set="target" t-value="'&gt; .row'"/>\n            <t t-set="with_colors" t-value="True"/>\n            <t t-set="with_images" t-value="False"/>\n            <t t-set="with_color_combinations" t-value="True"/>\n            <t t-set="with_gradients" t-value="True"/>\n        </t>\n        <div data-js="Box" data-selector=".s_media_list_item" data-target="&gt; .row">\n            <t t-call="website.snippet_options_border_widgets"/>\n            <t t-call="website.snippet_options_shadow_widgets"/>\n        </div>\n        <div data-selector=".s_media_list_item" data-target="&gt; .row">\n            <we-button-group string="Layout">\n                <we-button title="Left" data-name="media_left_opt" data-select-class="" data-img="/website/static/src/img/snippets_options/image_left.svg"/>\n                <we-button title="Right" data-select-class="flex-row-reverse" data-img="/website/static/src/img/snippets_options/image_right.svg"/>\n            </we-button-group>\n        </div>\n        <div data-js="MediaItemLayout" data-selector=".s_media_list_item">\n            <we-button-group string="Image Size" data-dependencies="media_left_opt">\n                <we-button data-layout="3" data-img="/website/static/src/img/snippets_options/media_layout_1_4.svg" title="1/4 - 3/4"/>\n                <we-button data-layout="4" data-img="/website/static/src/img/snippets_options/media_layout_1_3.svg" title="1/3 - 2/3"/>\n                <we-button data-layout="6" data-img="/website/static/src/img/snippets_options/media_layout_1_2.svg" title="1/2 - 1/2"/>\n            </we-button-group>\n            <we-button-group string="Image Size" data-dependencies="!media_left_opt">\n                <we-button data-layout="3" data-img="/website/static/src/img/snippets_options/media_layout_1_4_right.svg" title="1/4 - 3/4"/>\n                <we-button data-layout="4" data-img="/website/static/src/img/snippets_options/media_layout_1_3_right.svg" title="1/3 - 2/3"/>\n                <we-button data-layout="6" data-img="/website/static/src/img/snippets_options/media_layout_1_2_right.svg" title="1/2 - 1/2"/>\n            </we-button-group>\n        </div>\n\n        <div data-selector=".s_media_list_item" data-target="&gt; .row">\n            <!-- Don't use the standard Vert. Alignement option to not suggest\n                 Equal Height, which is useless for this snippet. -->\n            <we-button-group string="Text Position" title="Text Position" data-dependencies="media_left_opt">\n                <we-button title="Align Top" data-select-class="align-items-start" data-img="/website/static/src/img/snippets_options/align_top_right.svg"/>\n                <we-button title="Align Middle" data-select-class="align-items-center" data-img="/website/static/src/img/snippets_options/align_middle_right.svg"/>\n                <we-button title="Align Bottom" data-select-class="align-items-end" data-img="/website/static/src/img/snippets_options/align_bottom_right.svg"/>\n            </we-button-group>\n            <we-button-group string="Text Position" title="Text Position" data-dependencies="!media_left_opt">\n                <we-button title="Align Top" data-select-class="align-items-start" data-img="/website/static/src/img/snippets_options/align_top.svg"/>\n                <we-button title="Align Middle" data-select-class="align-items-center" data-img="/website/static/src/img/snippets_options/align_middle.svg"/>\n                <we-button title="Align Bottom" data-select-class="align-items-end" data-img="/website/static/src/img/snippets_options/align_bottom.svg"/>\n            </we-button-group>\n        </div>\n    </xpath>\n</data>\n\n	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1575	16	\N	1	1	Badge	\N	website.s_badge	qweb	website/views/snippets/s_badge.xml	\N	primary	{"en_US": "<t name=\\"Badge\\" t-name=\\"website.s_badge\\">\\n    <span class=\\"s_badge badge text-bg-secondary o_animable\\" data-name=\\"Badge\\">\\n        <i class=\\"fa fa-1x fa-fw fa-folder o_not-animable\\"/>Category\\n    </span>\\n</t>", "vi_VN": "<t name=\\"Badge\\" t-name=\\"website.s_badge\\">\\n    <span class=\\"s_badge badge text-bg-secondary o_animable\\" data-name=\\"Badge\\">\\n        <i class=\\"fa fa-1x fa-fw fa-folder o_not-animable\\"/>Danh mục\\n    </span>\\n</t>"}	<?xml version="1.0"?>\n<t name="Badge" t-name="website.s_badge">\n    <span class="s_badge badge text-bg-secondary o_animable" data-name="Badge">\n        <i class="fa fa-1x fa-fw fa-folder o_not-animable"/>Category\n    </span>\n</t>\n\n	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
299	16	\N	1	1	mail.mail.tree	mail.mail	\N	tree	mail/views/mail_mail_views.xml	\N	primary	{"en_US": "<tree string=\\"Emails\\">\\n                    <header>\\n                        <button name=\\"action_retry\\" string=\\"Retry\\" type=\\"object\\"/>\\n                    </header>\\n                    <field name=\\"date\\"/>\\n                    <field name=\\"subject\\"/>\\n                    <field name=\\"author_id\\" string=\\"User\\"/>\\n                    <field name=\\"message_id\\" invisible=\\"1\\"/>\\n                    <field name=\\"recipient_ids\\" invisible=\\"1\\"/>\\n                    <field name=\\"model\\" invisible=\\"1\\"/>\\n                    <field name=\\"res_id\\" invisible=\\"1\\"/>\\n                    <field name=\\"email_from\\" invisible=\\"1\\"/>\\n                    <field name=\\"message_type\\" invisible=\\"1\\"/>\\n                    <field name=\\"state\\" widget=\\"badge\\" decoration-muted=\\"state in ('sent', 'cancel')\\" decoration-info=\\"state=='outgoing'\\" decoration-danger=\\"state=='exception'\\"/>\\n                    <field name=\\"to_delete\\" invisible=\\"1\\"/>\\n                    <button name=\\"send\\" string=\\"Send Now\\" type=\\"object\\" icon=\\"fa-paper-plane\\" attrs=\\"{'invisible': ['|', ('state', '!=', 'outgoing'), ('message_type', '=', 'user_notification')]}\\"/>\\n                    <button name=\\"mark_outgoing\\" string=\\"Retry\\" type=\\"object\\" icon=\\"fa-repeat\\" states=\\"exception,cancel\\"/>\\n                    <button name=\\"cancel\\" string=\\"Cancel Email\\" type=\\"object\\" icon=\\"fa-times-circle\\" states=\\"outgoing\\"/>\\n                </tree>", "vi_VN": "<tree string=\\"Emails\\">\\n                    <header>\\n                        <button name=\\"action_retry\\" string=\\"Thử lại\\" type=\\"object\\"/>\\n                    </header>\\n                    <field name=\\"date\\"/>\\n                    <field name=\\"subject\\"/>\\n                    <field name=\\"author_id\\" string=\\"Người dùng\\"/>\\n                    <field name=\\"message_id\\" invisible=\\"1\\"/>\\n                    <field name=\\"recipient_ids\\" invisible=\\"1\\"/>\\n                    <field name=\\"model\\" invisible=\\"1\\"/>\\n                    <field name=\\"res_id\\" invisible=\\"1\\"/>\\n                    <field name=\\"email_from\\" invisible=\\"1\\"/>\\n                    <field name=\\"message_type\\" invisible=\\"1\\"/>\\n                    <field name=\\"state\\" widget=\\"badge\\" decoration-muted=\\"state in ('sent', 'cancel')\\" decoration-info=\\"state=='outgoing'\\" decoration-danger=\\"state=='exception'\\"/>\\n                    <field name=\\"to_delete\\" invisible=\\"1\\"/>\\n                    <button name=\\"send\\" string=\\"Gửi ngay\\" type=\\"object\\" icon=\\"fa-paper-plane\\" attrs=\\"{'invisible': ['|', ('state', '!=', 'outgoing'), ('message_type', '=', 'user_notification')]}\\"/>\\n                    <button name=\\"mark_outgoing\\" string=\\"Thử lại\\" type=\\"object\\" icon=\\"fa-repeat\\" states=\\"exception,cancel\\"/>\\n                    <button name=\\"cancel\\" string=\\"Hủy Email\\" type=\\"object\\" icon=\\"fa-times-circle\\" states=\\"outgoing\\"/>\\n                </tree>"}	<?xml version="1.0"?>\n<tree string="Emails">\n                    <header>\n                        <button name="action_retry" string="Retry" type="object"/>\n                    </header>\n                    <field name="date"/>\n                    <field name="subject"/>\n                    <field name="author_id" string="User"/>\n                    <field name="message_id" invisible="1"/>\n                    <field name="recipient_ids" invisible="1"/>\n                    <field name="model" invisible="1"/>\n                    <field name="res_id" invisible="1"/>\n                    <field name="email_from" invisible="1"/>\n                    <field name="message_type" invisible="1"/>\n                    <field name="state" widget="badge" decoration-muted="state in ('sent', 'cancel')" decoration-info="state=='outgoing'" decoration-danger="state=='exception'"/>\n                    <field name="to_delete" invisible="1"/>\n                    <button name="send" string="Send Now" type="object" icon="fa-paper-plane" attrs="{'invisible': ['|', ('state', '!=', 'outgoing'), ('message_type', '=', 'user_notification')]}"/>\n                    <button name="mark_outgoing" string="Retry" type="object" icon="fa-repeat" states="exception,cancel"/>\n                    <button name="cancel" string="Cancel Email" type="object" icon="fa-times-circle" states="outgoing"/>\n                </tree>\n            	f	t	2025-06-18 15:58:05.745465	2025-06-18 15:58:05.745465	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1637	16	\N	1	1	website.visitor.view.graph	website.visitor	\N	graph	website/views/website_visitor_views.xml	\N	primary	{"en_US": "<graph string=\\"Visitors\\" type=\\"line\\" sample=\\"1\\">\\n                <field name=\\"last_connection_datetime\\" interval=\\"day\\"/>\\n            </graph>", "vi_VN": "<graph string=\\"Khách truy cập\\" type=\\"line\\" sample=\\"1\\">\\n                <field name=\\"last_connection_datetime\\" interval=\\"day\\"/>\\n            </graph>"}	<?xml version="1.0"?>\n<graph string="Visitors" type="line" sample="1">\n                <field name="last_connection_datetime" interval="day"/>\n            </graph>\n        	f	t	2025-06-18 16:04:55.307597	2025-06-18 16:04:55.307597	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1664	16	1375	1	1	Contact Form (Opportunity)	\N	website_crm.contactus_form	qweb	website_crm/views/website_templates_contactus.xml	\N	extension	{"en_US": "<data name=\\"Contact Form (Opportunity)\\" inherit_id=\\"website.contactus\\">\\n            <xpath expr=\\"//t[@t-set='contactus_form_values']\\" position=\\"after\\">\\n                <t t-set=\\"contactus_form_values\\" t-value=\\"dict(contactus_form_values, **{                     'contact_name': request.params.get('contact_name', ''),                     'partner_name': request.params.get('partner_name', ''),                     'description': request.params.get('description', ''),                 })\\"/>\\n            </xpath>\\n\\t\\t</data>"}	<?xml version="1.0"?>\n<data name="Contact Form (Opportunity)" inherit_id="website.contactus">\n            <xpath expr="//t[@t-set='contactus_form_values']" position="after">\n                <t t-set="contactus_form_values" t-value="dict(contactus_form_values, **{                     'contact_name': request.params.get('contact_name', ''),                     'partner_name': request.params.get('partner_name', ''),                     'description': request.params.get('description', ''),                 })"/>\n            </xpath>\n\t\t</data>\n    	f	t	2025-06-18 16:05:07.264763	2025-06-18 16:05:07.264763	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
213	16	180	1	1	Neutralize Banner	\N	web.neutralize_banner	qweb	web/views/neutralize_views.xml	\N	extension	{"en_US": "<data name=\\"Neutralize Banner\\" inherit_id=\\"web.layout\\" active=\\"False\\">\\n        <xpath expr=\\"//body\\" position=\\"inside\\">\\n            <div>\\n                <span id=\\"oe_neutralize_banner\\" t-attf-style=\\"                         text-align: center;                         color: #FFFFFF;                         background-color: #D0442C;                         position: relative;                         display: block;                         font-size: 16px;                         {{ neutralize_banner_style or '' }}\\">\\n                    <t t-out=\\"neutralize_banner_text\\">This database is neutralized.</t>\\n                </span>\\n            </div>\\n        </xpath>\\n        <xpath expr=\\"//head\\">\\n            <meta name=\\"robots\\" content=\\"noindex, nofollow\\"/>\\n        </xpath>\\n    </data>", "vi_VN": "<data name=\\"Neutralize Banner\\" inherit_id=\\"web.layout\\" active=\\"False\\">\\n        <xpath expr=\\"//body\\" position=\\"inside\\">\\n            <div>\\n                <span id=\\"oe_neutralize_banner\\" t-attf-style=\\"                         text-align: center;                         color: #FFFFFF;                         background-color: #D0442C;                         position: relative;                         display: block;                         font-size: 16px;                         {{ neutralize_banner_style or '' }}\\">\\n                    <t t-out=\\"neutralize_banner_text\\">Cơ sở dữ liệu này được vô hiệu hóa.</t>\\n                </span>\\n            </div>\\n        </xpath>\\n        <xpath expr=\\"//head\\">\\n            <meta name=\\"robots\\" content=\\"noindex, nofollow\\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data name="Neutralize Banner" inherit_id="web.layout" active="False">\n        <xpath expr="//body" position="inside">\n            <div>\n                <span id="oe_neutralize_banner" t-attf-style="                         text-align: center;                         color: #FFFFFF;                         background-color: #D0442C;                         position: relative;                         display: block;                         font-size: 16px;                         {{ neutralize_banner_style or '' }}">\n                    <t t-out="neutralize_banner_text">This database is neutralized.</t>\n                </span>\n            </div>\n        </xpath>\n        <xpath expr="//head">\n            <meta name="robots" content="noindex, nofollow"/>\n        </xpath>\n    </data>\n	f	f	2025-06-18 15:49:20.716107	2025-06-18 15:49:20.716107	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
219	16	\N	1	1	web_tour.tour tree	web_tour.tour	\N	tree	web_tour/views/tour_views.xml	\N	primary	{"en_US": "<tree string=\\"Menu\\" editable=\\"bottom\\">\\n                    <field name=\\"name\\"/>\\n                    <field name=\\"user_id\\"/>\\n                </tree>", "vi_VN": "<tree string=\\"Trình đơn\\" editable=\\"bottom\\">\\n                    <field name=\\"name\\"/>\\n                    <field name=\\"user_id\\"/>\\n                </tree>"}	<?xml version="1.0"?>\n<tree string="Menu" editable="bottom">\n                    <field name="name"/>\n                    <field name="user_id"/>\n                </tree>\n            	f	t	2025-06-18 15:49:26.855437	2025-06-18 15:49:26.855437	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1667	16	\N	1	1	Link Tracker	\N	website_links.page_shorten_url	qweb	website_links/views/website_links_template.xml	\N	primary	{"en_US": "<t name=\\"Link Tracker\\" t-name=\\"website_links.page_shorten_url\\">\\n            <t t-call=\\"website.layout\\">\\n                <t t-call=\\"website_links.create_shorten_url\\"/>\\n            </t>\\n        </t>"}	<?xml version="1.0"?>\n<t name="Link Tracker" t-name="website_links.page_shorten_url">\n            <t t-call="website.layout">\n                <t t-call="website_links.create_shorten_url"/>\n            </t>\n        </t>\n\n	f	t	2025-06-18 16:05:08.426376	2025-06-18 16:05:08.426376	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1670	16	\N	1	1	CSS assets for wysiwyg iframe content for popup	\N	website_mass_mailing.iframe_css_assets_edit	qweb	website_mass_mailing/views/snippets_templates.xml	\N	primary	{"en_US": "<t name=\\"CSS assets for wysiwyg iframe content for popup\\" t-name=\\"website_mass_mailing.iframe_css_assets_edit\\">\\n    <t t-call-assets=\\"web.assets_frontend\\" t-js=\\"false\\"/>\\n    <t t-call-assets=\\"web_editor.assets_wysiwyg\\" t-js=\\"false\\"/>\\n    <t t-call-assets=\\"website.assets_editor\\" t-js=\\"false\\"/>\\n</t>"}	<?xml version="1.0"?>\n<t name="CSS assets for wysiwyg iframe content for popup" t-name="website_mass_mailing.iframe_css_assets_edit">\n    <t t-call-assets="web.assets_frontend" t-js="false"/>\n    <t t-call-assets="web_editor.assets_wysiwyg" t-js="false"/>\n    <t t-call-assets="website.assets_editor" t-js="false"/>\n</t>\n\n	f	t	2025-06-18 16:05:09.115316	2025-06-18 16:05:09.115316	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1671	16	1494	1	1	remove_external_snippets	\N	website_mass_mailing.remove_external_snippets	qweb	website_mass_mailing/views/snippets_templates.xml	\N	extension	{"en_US": "<data inherit_id=\\"website.external_snippets\\">\\n    <xpath expr=\\"//t[@id='newsletter_snippet']\\" position=\\"replace\\"/>\\n    <xpath expr=\\"//t[@id='newsletter_popup_snippet']\\" position=\\"replace\\"/>\\n</data>"}	<?xml version="1.0"?>\n<data inherit_id="website.external_snippets">\n    <xpath expr="//t[@id='newsletter_snippet']" position="replace"/>\n    <xpath expr="//t[@id='newsletter_popup_snippet']" position="replace"/>\n</data>\n\n	f	t	2025-06-18 16:05:09.115316	2025-06-18 16:05:09.115316	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
220	16	\N	1	1	tour.search	web_tour.tour	\N	search	web_tour/views/tour_views.xml	\N	primary	{"en_US": "<search string=\\"Tip\\">\\n                    <field name=\\"name\\"/>\\n                </search>", "vi_VN": "<search string=\\"Tip\\">\\n                    <field name=\\"name\\"/>\\n                </search>"}	<?xml version="1.0"?>\n<search string="Tip">\n                    <field name="name"/>\n                </search>\n            	f	t	2025-06-18 15:49:26.855437	2025-06-18 15:49:26.855437	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1161	16	\N	1	1	report.project.task.user.pivot	report.project.task.user	\N	pivot	project/report/project_report_views.xml	\N	primary	{"en_US": "<pivot string=\\"Tasks Analysis\\" display_quantity=\\"1\\" sample=\\"1\\">\\n                    <field name=\\"project_id\\" type=\\"row\\"/>\\n                </pivot>", "vi_VN": "<pivot string=\\"Phân tích nhiệm vụ\\" display_quantity=\\"1\\" sample=\\"1\\">\\n                    <field name=\\"project_id\\" type=\\"row\\"/>\\n                </pivot>"}	<?xml version="1.0"?>\n<pivot string="Tasks Analysis" display_quantity="1" sample="1">\n                    <field name="project_id" type="row"/>\n                </pivot>\n            	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1674	16	\N	1	1	Newsletter Block	\N	website_mass_mailing.s_newsletter_block	qweb	website_mass_mailing/views/snippets_templates.xml	\N	primary	{"en_US": "<t name=\\"Newsletter Block\\" t-name=\\"website_mass_mailing.s_newsletter_block\\">\\n    <section class=\\"s_newsletter_block s_newsletter_list pt32 pb32\\" data-list-id=\\"0\\">\\n        <div class=\\"container\\">\\n            <t t-call=\\"website_mass_mailing.s_newsletter_block_default_template\\"/>\\n        </div>\\n    </section>\\n</t>"}	<?xml version="1.0"?>\n<t name="Newsletter Block" t-name="website_mass_mailing.s_newsletter_block">\n    <section class="s_newsletter_block s_newsletter_list pt32 pb32" data-list-id="0">\n        <div class="container">\n            <t t-call="website_mass_mailing.s_newsletter_block_default_template"/>\n        </div>\n    </section>\n</t>\n\n	f	t	2025-06-18 16:05:09.115316	2025-06-18 16:05:09.115316	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1162	16	\N	1	1	report.project.task.user.graph	report.project.task.user	\N	graph	project/report/project_report_views.xml	\N	primary	{"en_US": "<graph string=\\"Tasks Analysis\\" sample=\\"1\\" disable_linking=\\"1\\">\\n                     <field name=\\"project_id\\"/>\\n                     <field name=\\"stage_id\\"/>\\n                     <field name=\\"nbr\\" invisible=\\"1\\"/>\\n                 </graph>", "vi_VN": "<graph string=\\"Phân tích nhiệm vụ\\" sample=\\"1\\" disable_linking=\\"1\\">\\n                     <field name=\\"project_id\\"/>\\n                     <field name=\\"stage_id\\"/>\\n                     <field name=\\"nbr\\" invisible=\\"1\\"/>\\n                 </graph>"}	<?xml version="1.0"?>\n<graph string="Tasks Analysis" sample="1" disable_linking="1">\n                     <field name="project_id"/>\n                     <field name="stage_id"/>\n                     <field name="nbr" invisible="1"/>\n                 </graph>\n             	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1163	16	\N	1	1	report.project.task.user.view.tree	report.project.task.user	\N	tree	project/report/project_report_views.xml	\N	primary	{"en_US": "<tree string=\\"Tasks Analysis\\" create=\\"false\\" editable=\\"top\\" delete=\\"false\\" edit=\\"false\\">\\n                    <field name=\\"name\\"/>\\n                    <field name=\\"partner_id\\" optional=\\"hide\\"/>\\n                    <field name=\\"project_id\\" options=\\"{'no_open': True}\\" optional=\\"show\\"/>\\n                    <field name=\\"user_ids\\" optional=\\"show\\" widget=\\"many2many_avatar_user\\"/>\\n                    <field name=\\"stage_id\\" optional=\\"show\\"/>\\n                    <field name=\\"company_id\\" optional=\\"show\\" groups=\\"base.group_multi_company\\"/>\\n                </tree>", "vi_VN": "<tree string=\\"Phân tích nhiệm vụ\\" create=\\"false\\" editable=\\"top\\" delete=\\"false\\" edit=\\"false\\">\\n                    <field name=\\"name\\"/>\\n                    <field name=\\"partner_id\\" optional=\\"hide\\"/>\\n                    <field name=\\"project_id\\" options=\\"{'no_open': True}\\" optional=\\"show\\"/>\\n                    <field name=\\"user_ids\\" optional=\\"show\\" widget=\\"many2many_avatar_user\\"/>\\n                    <field name=\\"stage_id\\" optional=\\"show\\"/>\\n                    <field name=\\"company_id\\" optional=\\"show\\" groups=\\"base.group_multi_company\\"/>\\n                </tree>"}	<?xml version="1.0"?>\n<tree string="Tasks Analysis" create="false" editable="top" delete="false" edit="false">\n                    <field name="name"/>\n                    <field name="partner_id" optional="hide"/>\n                    <field name="project_id" options="{'no_open': True}" optional="show"/>\n                    <field name="user_ids" optional="show" widget="many2many_avatar_user"/>\n                    <field name="stage_id" optional="show"/>\n                    <field name="company_id" optional="show" groups="base.group_multi_company"/>\n                </tree>\n            	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1165	16	\N	1	1	project.task.burndown.chart.report.view.search	project.task.burndown.chart.report	\N	search	project/report/project_task_burndown_chart_report_views.xml	\N	primary	{"en_US": "<search string=\\"Burndown Chart\\">\\n                <field name=\\"stage_id\\"/>\\n                <field name=\\"project_id\\"/>\\n                <field name=\\"user_ids\\"/>\\n                <field name=\\"milestone_id\\" groups=\\"project.group_project_milestone\\"/>\\n                <field name=\\"date_assign\\"/>\\n                <field name=\\"date_deadline\\"/>\\n                <field name=\\"partner_id\\" filter_domain=\\"[('partner_id', 'child_of', self)]\\"/>\\n                <separator/>\\n                <filter name=\\"filter_date\\" date=\\"date\\" string=\\"Date\\" default_period=\\"this_year,last_year\\"/>\\n                <filter name=\\"filter_date_deadline\\" date=\\"date_deadline\\"/>\\n                <filter name=\\"filter_date_assign\\" date=\\"date_assign\\"/>\\n                <filter string=\\"Last Month\\" invisible=\\"1\\" name=\\"last_month\\" domain=\\"[('date','&gt;=', (context_today() - datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]\\"/>\\n                <filter string=\\"Open tasks\\" name=\\"open_tasks\\" domain=\\"[('is_closed', '=', False)]\\"/>\\n                <filter string=\\"Late Milestones\\" name=\\"late_milestone\\" domain=\\"[('is_closed', '=', False), ('has_late_and_unreached_milestone', '=', True)]\\" groups=\\"project.group_project_milestone\\"/>\\n                <group expand=\\"0\\" string=\\"Group By\\">\\n                    <filter string=\\"Date\\" name=\\"date\\" context=\\"{'group_by': 'date'}\\"/>\\n                    <filter string=\\"Stage\\" name=\\"stage\\" context=\\"{'group_by': 'stage_id'}\\" invisible=\\"1\\"/>\\n                </group>\\n            </search>", "vi_VN": "<search string=\\"Sơ đồ chi tiết\\">\\n                <field name=\\"stage_id\\"/>\\n                <field name=\\"project_id\\"/>\\n                <field name=\\"user_ids\\"/>\\n                <field name=\\"milestone_id\\" groups=\\"project.group_project_milestone\\"/>\\n                <field name=\\"date_assign\\"/>\\n                <field name=\\"date_deadline\\"/>\\n                <field name=\\"partner_id\\" filter_domain=\\"[('partner_id', 'child_of', self)]\\"/>\\n                <separator/>\\n                <filter name=\\"filter_date\\" date=\\"date\\" string=\\"Ngày\\" default_period=\\"this_year,last_year\\"/>\\n                <filter name=\\"filter_date_deadline\\" date=\\"date_deadline\\"/>\\n                <filter name=\\"filter_date_assign\\" date=\\"date_assign\\"/>\\n                <filter string=\\"Tháng trước\\" invisible=\\"1\\" name=\\"last_month\\" domain=\\"[('date','&gt;=', (context_today() - datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]\\"/>\\n                <filter string=\\"Mở nhiệm vụ\\" name=\\"open_tasks\\" domain=\\"[('is_closed', '=', False)]\\"/>\\n                <filter string=\\"Mốc thời gian chậm trễ\\" name=\\"late_milestone\\" domain=\\"[('is_closed', '=', False), ('has_late_and_unreached_milestone', '=', True)]\\" groups=\\"project.group_project_milestone\\"/>\\n                <group expand=\\"0\\" string=\\"Nhóm theo\\">\\n                    <filter string=\\"Ngày\\" name=\\"date\\" context=\\"{'group_by': 'date'}\\"/>\\n                    <filter string=\\"Giai đoạn\\" name=\\"stage\\" context=\\"{'group_by': 'stage_id'}\\" invisible=\\"1\\"/>\\n                </group>\\n            </search>"}	<?xml version="1.0"?>\n<search string="Burndown Chart">\n                <field name="stage_id"/>\n                <field name="project_id"/>\n                <field name="user_ids"/>\n                <field name="milestone_id" groups="project.group_project_milestone"/>\n                <field name="date_assign"/>\n                <field name="date_deadline"/>\n                <field name="partner_id" filter_domain="[('partner_id', 'child_of', self)]"/>\n                <separator/>\n                <filter name="filter_date" date="date" string="Date" default_period="this_year,last_year"/>\n                <filter name="filter_date_deadline" date="date_deadline"/>\n                <filter name="filter_date_assign" date="date_assign"/>\n                <filter string="Last Month" invisible="1" name="last_month" domain="[('date','&gt;=', (context_today() - datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]"/>\n                <filter string="Open tasks" name="open_tasks" domain="[('is_closed', '=', False)]"/>\n                <filter string="Late Milestones" name="late_milestone" domain="[('is_closed', '=', False), ('has_late_and_unreached_milestone', '=', True)]" groups="project.group_project_milestone"/>\n                <group expand="0" string="Group By">\n                    <filter string="Date" name="date" context="{'group_by': 'date'}"/>\n                    <filter string="Stage" name="stage" context="{'group_by': 'stage_id'}" invisible="1"/>\n                </group>\n            </search>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1166	16	\N	1	1	project.task.burndown.chart.report.view.graph	project.task.burndown.chart.report	\N	graph	project/report/project_task_burndown_chart_report_views.xml	\N	primary	{"en_US": "<graph string=\\"Burndown Chart\\" type=\\"line\\" sample=\\"1\\" disable_linking=\\"1\\" js_class=\\"burndown_chart\\">\\n                <field name=\\"date\\" string=\\"Date\\" interval=\\"month\\"/>\\n                <field name=\\"stage_id\\"/>\\n            </graph>", "vi_VN": "<graph string=\\"Sơ đồ chi tiết\\" type=\\"line\\" sample=\\"1\\" disable_linking=\\"1\\" js_class=\\"burndown_chart\\">\\n                <field name=\\"date\\" string=\\"Ngày\\" interval=\\"month\\"/>\\n                <field name=\\"stage_id\\"/>\\n            </graph>"}	<?xml version="1.0"?>\n<graph string="Burndown Chart" type="line" sample="1" disable_linking="1" js_class="burndown_chart">\n                <field name="date" string="Date" interval="month"/>\n                <field name="stage_id"/>\n            </graph>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1167	40	371	1	1	account.analytic.account.form.inherit	account.analytic.account	\N	form	project/views/analytic_views.xml	\N	extension	{"en_US": "<xpath expr=\\"//button[@name='137']\\" position=\\"before\\">\\n                <button class=\\"oe_stat_button\\" type=\\"object\\" name=\\"action_view_projects\\" icon=\\"fa-puzzle-piece\\" attrs=\\"{'invisible': [('project_count', '=', 0)]}\\">\\n                    <field string=\\"Projects\\" name=\\"project_count\\" widget=\\"statinfo\\"/>\\n                </button>\\n            </xpath>", "vi_VN": "<xpath expr=\\"//button[@name='137']\\" position=\\"before\\">\\n                <button class=\\"oe_stat_button\\" type=\\"object\\" name=\\"action_view_projects\\" icon=\\"fa-puzzle-piece\\" attrs=\\"{'invisible': [('project_count', '=', 0)]}\\">\\n                    <field string=\\"Dự án\\" name=\\"project_count\\" widget=\\"statinfo\\"/>\\n                </button>\\n            </xpath>"}	<?xml version="1.0"?>\n<xpath expr="//button[@name='137']" position="before">\n                <button class="oe_stat_button" type="object" name="action_view_projects" icon="fa-puzzle-piece" attrs="{'invisible': [('project_count', '=', 0)]}">\n                    <field string="Projects" name="project_count" widget="statinfo"/>\n                </button>\n            </xpath>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1168	40	544	1	1	digest.digest.view.form.inherit.project.task	digest.digest	\N	form	project/views/digest_views.xml	\N	extension	{"en_US": "<xpath expr=\\"//group[@name='kpis']/group[last()]\\" position=\\"before\\">\\n                <group name=\\"kpi_project\\" string=\\"Project\\" groups=\\"project.group_project_user\\">\\n                    <field name=\\"kpi_project_task_opened\\"/>\\n                </group>\\n            </xpath>", "vi_VN": "<xpath expr=\\"//group[@name='kpis']/group[last()]\\" position=\\"before\\">\\n                <group name=\\"kpi_project\\" string=\\"Dự án\\" groups=\\"project.group_project_user\\">\\n                    <field name=\\"kpi_project_task_opened\\"/>\\n                </group>\\n            </xpath>"}	<?xml version="1.0"?>\n<xpath expr="//group[@name='kpis']/group[last()]" position="before">\n                <group name="kpi_project" string="Project" groups="project.group_project_user">\n                    <field name="kpi_project_task_opened"/>\n                </group>\n            </xpath>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1169	64	943	1	1	rating.rating.tree.project	rating.rating	\N	tree	project/views/rating_rating_views.xml	\N	primary	{"en_US": "<data><field name=\\"res_name\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Task</attribute>\\n            </field>\\n            <field name=\\"parent_res_name\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Project</attribute>\\n            </field>\\n            <field name=\\"rated_partner_id\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Assigned to</attribute>\\n            </field>\\n        </data>", "vi_VN": "<data><field name=\\"res_name\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Công việc</attribute>\\n            </field>\\n            <field name=\\"parent_res_name\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Dự án</attribute>\\n            </field>\\n            <field name=\\"rated_partner_id\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Phân công cho</attribute>\\n            </field>\\n        </data>"}	<?xml version="1.0"?>\n<data><field name="res_name" position="attributes">\n                <attribute name="string">Task</attribute>\n            </field>\n            <field name="parent_res_name" position="attributes">\n                <attribute name="string">Project</attribute>\n            </field>\n            <field name="rated_partner_id" position="attributes">\n                <attribute name="string">Assigned to</attribute>\n            </field>\n        </data>	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1680	16	1112	1	1	s_mail_block_footer_social	\N	website_mass_mailing.s_mail_block_footer_social	qweb	website_mass_mailing/views/snippets_templates.xml	\N	extension	{"en_US": "<data inherit_id=\\"mass_mailing.s_mail_block_footer_social\\">\\n    <xpath expr=\\"//div[hasclass('o_mail_footer_links')]\\" position=\\"inside\\">\\n        <t> | <a role=\\"button\\" href=\\"/contactus\\" class=\\"btn btn-link\\">Contact</a></t>\\n    </xpath>\\n</data>", "vi_VN": "<data inherit_id=\\"mass_mailing.s_mail_block_footer_social\\">\\n    <xpath expr=\\"//div[hasclass('o_mail_footer_links')]\\" position=\\"inside\\">\\n        <t> | <a role=\\"button\\" href=\\"/contactus\\" class=\\"btn btn-link\\">Liên hệ</a></t>\\n    </xpath>\\n</data>"}	<?xml version="1.0"?>\n<data inherit_id="mass_mailing.s_mail_block_footer_social">\n    <xpath expr="//div[hasclass('o_mail_footer_links')]" position="inside">\n        <t> | <a role="button" href="/contactus" class="btn btn-link">Contact</a></t>\n    </xpath>\n</data>\n\n	f	t	2025-06-18 16:05:09.115316	2025-06-18 16:05:09.115316	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1170	64	945	1	1	rating.rating.form.project	rating.rating	\N	form	project/views/rating_rating_views.xml	\N	primary	{"en_US": "<data><xpath expr=\\"//form\\" position=\\"attributes\\">\\n                <attribute name=\\"edit\\">0</attribute>\\n            </xpath>\\n            <field name=\\"resource_ref\\" position=\\"before\\">\\n                <field name=\\"rated_partner_id\\" position=\\"move\\"/>\\n                <field name=\\"parent_ref\\" position=\\"move\\"/>\\n            </field>\\n            <field name=\\"res_name\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Task</attribute>\\n            </field>\\n            <field name=\\"resource_ref\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Task</attribute>\\n            </field>\\n            <field name=\\"parent_ref\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Project</attribute>\\n            </field>\\n            <field name=\\"parent_res_name\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Project</attribute>\\n            </field>\\n            <field name=\\"rated_partner_id\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Assigned to</attribute>\\n            </field>\\n            <field name=\\"create_date\\" position=\\"replace\\">\\n                <field name=\\"write_date\\" readonly=\\"1\\" string=\\"Submitted On\\"/>\\n            </field>\\n            <field name=\\"feedback\\" position=\\"attributes\\">\\n                <attribute name=\\"readonly\\">1</attribute>\\n            </field>\\n            <field name=\\"write_date\\" position=\\"after\\">\\n                <field name=\\"partner_id\\" position=\\"move\\"/>\\n            </field>\\n            <xpath expr=\\"//field[@name='is_internal']\\" position=\\"attributes\\">\\n                <attribute name=\\"invisible\\">1</attribute>\\n            </xpath>\\n        </data>", "vi_VN": "<data><xpath expr=\\"//form\\" position=\\"attributes\\">\\n                <attribute name=\\"edit\\">0</attribute>\\n            </xpath>\\n            <field name=\\"resource_ref\\" position=\\"before\\">\\n                <field name=\\"rated_partner_id\\" position=\\"move\\"/>\\n                <field name=\\"parent_ref\\" position=\\"move\\"/>\\n            </field>\\n            <field name=\\"res_name\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Công việc</attribute>\\n            </field>\\n            <field name=\\"resource_ref\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Công việc</attribute>\\n            </field>\\n            <field name=\\"parent_ref\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Dự án</attribute>\\n            </field>\\n            <field name=\\"parent_res_name\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Dự án</attribute>\\n            </field>\\n            <field name=\\"rated_partner_id\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Phân công cho</attribute>\\n            </field>\\n            <field name=\\"create_date\\" position=\\"replace\\">\\n                <field name=\\"write_date\\" readonly=\\"1\\" string=\\"Đã gửi vào\\"/>\\n            </field>\\n            <field name=\\"feedback\\" position=\\"attributes\\">\\n                <attribute name=\\"readonly\\">1</attribute>\\n            </field>\\n            <field name=\\"write_date\\" position=\\"after\\">\\n                <field name=\\"partner_id\\" position=\\"move\\"/>\\n            </field>\\n            <xpath expr=\\"//field[@name='is_internal']\\" position=\\"attributes\\">\\n                <attribute name=\\"invisible\\">1</attribute>\\n            </xpath>\\n        </data>"}	<?xml version="1.0"?>\n<data><xpath expr="//form" position="attributes">\n                <attribute name="edit">0</attribute>\n            </xpath>\n            <field name="resource_ref" position="before">\n                <field name="rated_partner_id" position="move"/>\n                <field name="parent_ref" position="move"/>\n            </field>\n            <field name="res_name" position="attributes">\n                <attribute name="string">Task</attribute>\n            </field>\n            <field name="resource_ref" position="attributes">\n                <attribute name="string">Task</attribute>\n            </field>\n            <field name="parent_ref" position="attributes">\n                <attribute name="string">Project</attribute>\n            </field>\n            <field name="parent_res_name" position="attributes">\n                <attribute name="string">Project</attribute>\n            </field>\n            <field name="rated_partner_id" position="attributes">\n                <attribute name="string">Assigned to</attribute>\n            </field>\n            <field name="create_date" position="replace">\n                <field name="write_date" readonly="1" string="Submitted On"/>\n            </field>\n            <field name="feedback" position="attributes">\n                <attribute name="readonly">1</attribute>\n            </field>\n            <field name="write_date" position="after">\n                <field name="partner_id" position="move"/>\n            </field>\n            <xpath expr="//field[@name='is_internal']" position="attributes">\n                <attribute name="invisible">1</attribute>\n            </xpath>\n        </data>	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1174	64	951	1	1	rating.rating.search.project	rating.rating	\N	search	project/views/rating_rating_views.xml	\N	primary	{"en_US": "<data><xpath expr=\\"//field[@name='rated_partner_id']\\" position=\\"after\\">\\n                <field name=\\"parent_res_name\\" position=\\"move\\"/>\\n                <field name=\\"res_name\\" position=\\"move\\"/>\\n            </xpath>\\n            <xpath expr=\\"//field[@name='rated_partner_id']\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Assigned to</attribute>\\n            </xpath>\\n            <xpath expr=\\"//field[@name='parent_res_name']\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Project</attribute>\\n            </xpath>\\n            <xpath expr=\\"//field[@name='res_name']\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Task</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='responsible']\\" position=\\"after\\">\\n                <filter name=\\"rating_text\\" position=\\"move\\"/>\\n                <filter string=\\"Project\\" name=\\"groupby_project\\" context=\\"{'group_by': 'parent_res_name'}\\"/>\\n                <filter name=\\"resource\\" position=\\"move\\"/>\\n                <filter name=\\"customer\\" position=\\"move\\"/>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='resource']\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Task</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='responsible']\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Assigned to</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='filter_create_date']\\" position=\\"replace\\">\\n                <filter name=\\"filter_write_date\\" string=\\"Submitted On\\" date=\\"write_date\\"/>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='month']\\" position=\\"attributes\\">\\n                <attribute name=\\"context\\">{'group_by':'write_date:month'}</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='today']\\" position=\\"attributes\\">\\n                <attribute name=\\"domain\\">[('write_date', '&gt;', (context_today() - datetime.timedelta(days=1)).strftime('%Y-%m-%d'))]</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='last_7days']\\" position=\\"attributes\\">\\n                <attribute name=\\"domain\\">[('write_date','&gt;', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='last_month']\\" position=\\"attributes\\">\\n                <attribute name=\\"domain\\">[('write_date','&gt;', (context_today() - relativedelta(months=1)).strftime('%Y-%m-%d'))]</attribute>\\n            </xpath>\\n        </data>", "vi_VN": "<data><xpath expr=\\"//field[@name='rated_partner_id']\\" position=\\"after\\">\\n                <field name=\\"parent_res_name\\" position=\\"move\\"/>\\n                <field name=\\"res_name\\" position=\\"move\\"/>\\n            </xpath>\\n            <xpath expr=\\"//field[@name='rated_partner_id']\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Phân công cho</attribute>\\n            </xpath>\\n            <xpath expr=\\"//field[@name='parent_res_name']\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Dự án</attribute>\\n            </xpath>\\n            <xpath expr=\\"//field[@name='res_name']\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Công việc</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='responsible']\\" position=\\"after\\">\\n                <filter name=\\"rating_text\\" position=\\"move\\"/>\\n                <filter string=\\"Dự án\\" name=\\"groupby_project\\" context=\\"{'group_by': 'parent_res_name'}\\"/>\\n                <filter name=\\"resource\\" position=\\"move\\"/>\\n                <filter name=\\"customer\\" position=\\"move\\"/>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='resource']\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Công việc</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='responsible']\\" position=\\"attributes\\">\\n                <attribute name=\\"string\\">Phân công cho</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='filter_create_date']\\" position=\\"replace\\">\\n                <filter name=\\"filter_write_date\\" string=\\"Đã gửi vào\\" date=\\"write_date\\"/>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='month']\\" position=\\"attributes\\">\\n                <attribute name=\\"context\\">{'group_by':'write_date:month'}</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='today']\\" position=\\"attributes\\">\\n                <attribute name=\\"domain\\">[('write_date', '&gt;', (context_today() - datetime.timedelta(days=1)).strftime('%Y-%m-%d'))]</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='last_7days']\\" position=\\"attributes\\">\\n                <attribute name=\\"domain\\">[('write_date','&gt;', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]</attribute>\\n            </xpath>\\n            <xpath expr=\\"//filter[@name='last_month']\\" position=\\"attributes\\">\\n                <attribute name=\\"domain\\">[('write_date','&gt;', (context_today() - relativedelta(months=1)).strftime('%Y-%m-%d'))]</attribute>\\n            </xpath>\\n        </data>"}	<?xml version="1.0"?>\n<data><xpath expr="//field[@name='rated_partner_id']" position="after">\n                <field name="parent_res_name" position="move"/>\n                <field name="res_name" position="move"/>\n            </xpath>\n            <xpath expr="//field[@name='rated_partner_id']" position="attributes">\n                <attribute name="string">Assigned to</attribute>\n            </xpath>\n            <xpath expr="//field[@name='parent_res_name']" position="attributes">\n                <attribute name="string">Project</attribute>\n            </xpath>\n            <xpath expr="//field[@name='res_name']" position="attributes">\n                <attribute name="string">Task</attribute>\n            </xpath>\n            <xpath expr="//filter[@name='responsible']" position="after">\n                <filter name="rating_text" position="move"/>\n                <filter string="Project" name="groupby_project" context="{'group_by': 'parent_res_name'}"/>\n                <filter name="resource" position="move"/>\n                <filter name="customer" position="move"/>\n            </xpath>\n            <xpath expr="//filter[@name='resource']" position="attributes">\n                <attribute name="string">Task</attribute>\n            </xpath>\n            <xpath expr="//filter[@name='responsible']" position="attributes">\n                <attribute name="string">Assigned to</attribute>\n            </xpath>\n            <xpath expr="//filter[@name='filter_create_date']" position="replace">\n                <filter name="filter_write_date" string="Submitted On" date="write_date"/>\n            </xpath>\n            <xpath expr="//filter[@name='month']" position="attributes">\n                <attribute name="context">{'group_by':'write_date:month'}</attribute>\n            </xpath>\n            <xpath expr="//filter[@name='today']" position="attributes">\n                <attribute name="domain">[('write_date', '&gt;', (context_today() - datetime.timedelta(days=1)).strftime('%Y-%m-%d'))]</attribute>\n            </xpath>\n            <xpath expr="//filter[@name='last_7days']" position="attributes">\n                <attribute name="domain">[('write_date','&gt;', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]</attribute>\n            </xpath>\n            <xpath expr="//filter[@name='last_month']" position="attributes">\n                <attribute name="domain">[('write_date','&gt;', (context_today() - relativedelta(months=1)).strftime('%Y-%m-%d'))]</attribute>\n            </xpath>\n        </data>	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1175	16	\N	1	1	project.update.view.search	project.update	\N	search	project/views/project_update_views.xml	\N	primary	{"en_US": "<search string=\\"Search Update\\">\\n                <field name=\\"name\\"/>\\n                <field name=\\"project_id\\" invisible=\\"1\\"/>\\n                <field name=\\"user_id\\"/>\\n                <field name=\\"description\\"/>\\n                <field name=\\"status\\"/>\\n                <filter string=\\"My Updates\\" name=\\"my_updates\\" domain=\\"[('user_id', '=', uid)]\\"/>\\n                <filter string=\\"Followed Updates\\" name=\\"followed_updates\\" domain=\\"[('message_is_follower', '=', True)]\\"/>\\n                <separator/>\\n                <filter string=\\"On Track\\" name=\\"on_track\\" domain=\\"[('status', '=', 'on_track')]\\"/>\\n                <filter string=\\"At Risk\\" name=\\"at_risk\\" domain=\\"[('status', '=', 'at_risk')]\\"/>\\n                <filter string=\\"Off Track\\" name=\\"off_track\\" domain=\\"[('status', '=', 'off_track')]\\"/>\\n                <filter string=\\"On Hold\\" name=\\"on_hold\\" domain=\\"[('status', '=', 'on_hold')]\\"/>\\n                <separator/>\\n                <filter name=\\"date\\" string=\\"Date\\" date=\\"date\\"/>\\n            </search>", "vi_VN": "<search string=\\"Tìm kiếm cập nhật\\">\\n                <field name=\\"name\\"/>\\n                <field name=\\"project_id\\" invisible=\\"1\\"/>\\n                <field name=\\"user_id\\"/>\\n                <field name=\\"description\\"/>\\n                <field name=\\"status\\"/>\\n                <filter string=\\"Cập nhật của tôi\\" name=\\"my_updates\\" domain=\\"[('user_id', '=', uid)]\\"/>\\n                <filter string=\\"Cập nhật được theo dõi\\" name=\\"followed_updates\\" domain=\\"[('message_is_follower', '=', True)]\\"/>\\n                <separator/>\\n                <filter string=\\"Đúng tiến độ\\" name=\\"on_track\\" domain=\\"[('status', '=', 'on_track')]\\"/>\\n                <filter string=\\"Rủi ro\\" name=\\"at_risk\\" domain=\\"[('status', '=', 'at_risk')]\\"/>\\n                <filter string=\\"Không đúng tiến độ\\" name=\\"off_track\\" domain=\\"[('status', '=', 'off_track')]\\"/>\\n                <filter string=\\"Tạm dừng\\" name=\\"on_hold\\" domain=\\"[('status', '=', 'on_hold')]\\"/>\\n                <separator/>\\n                <filter name=\\"date\\" string=\\"Ngày\\" date=\\"date\\"/>\\n            </search>"}	<?xml version="1.0"?>\n<search string="Search Update">\n                <field name="name"/>\n                <field name="project_id" invisible="1"/>\n                <field name="user_id"/>\n                <field name="description"/>\n                <field name="status"/>\n                <filter string="My Updates" name="my_updates" domain="[('user_id', '=', uid)]"/>\n                <filter string="Followed Updates" name="followed_updates" domain="[('message_is_follower', '=', True)]"/>\n                <separator/>\n                <filter string="On Track" name="on_track" domain="[('status', '=', 'on_track')]"/>\n                <filter string="At Risk" name="at_risk" domain="[('status', '=', 'at_risk')]"/>\n                <filter string="Off Track" name="off_track" domain="[('status', '=', 'off_track')]"/>\n                <filter string="On Hold" name="on_hold" domain="[('status', '=', 'on_hold')]"/>\n                <separator/>\n                <filter name="date" string="Date" date="date"/>\n            </search>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1176	16	\N	1	1	project.update.view.form	project.update	\N	form	project/views/project_update_views.xml	\N	primary	{"en_US": "<form string=\\"Project Update\\" class=\\"o_form_project_update\\" js_class=\\"form_description_expander\\">\\n                <sheet>\\n                    <div class=\\"oe_title\\">\\n                        <h1>\\n                            <field name=\\"name\\" class=\\"o_text_overflow\\" placeholder=\\"e.g. Monthly review\\"/>\\n                        </h1>\\n                    </div>\\n                    <group>\\n                        <group>\\n                            <field name=\\"project_id\\" invisible=\\"1\\"/>\\n                            <field name=\\"color\\" invisible=\\"1\\"/>\\n                            <field name=\\"status\\" widget=\\"status_with_color\\" options=\\"{'color_field': 'color'}\\"/>\\n                            <field name=\\"progress\\" widget=\\"progressbar\\" options=\\"{'editable': true}\\"/>\\n                        </group>\\n                        <group>\\n                            <field name=\\"user_id\\" widget=\\"many2one_avatar_user\\" readonly=\\"1\\"/>\\n                            <field name=\\"date\\"/>\\n                        </group>\\n                    </group>\\n                    <separator/>\\n                    <notebook>\\n                        <page string=\\"Description\\" name=\\"description\\">\\n                            <field name=\\"description\\" nolabel=\\"1\\" class=\\"o_project_update_description\\" options=\\"{'resizable': false, 'collaborative': true}\\"/>\\n                        </page>\\n                    </notebook>\\n                </sheet>\\n                <div class=\\"oe_chatter\\">\\n                    <field name=\\"message_follower_ids\\" options=\\"{'post_refresh':True}\\" groups=\\"base.group_user\\"/>\\n                    <field name=\\"activity_ids\\"/>\\n                    <field name=\\"message_ids\\"/>\\n                </div>\\n            </form>", "vi_VN": "<form string=\\"Cập nhật dự án\\" class=\\"o_form_project_update\\" js_class=\\"form_description_expander\\">\\n                <sheet>\\n                    <div class=\\"oe_title\\">\\n                        <h1>\\n                            <field name=\\"name\\" class=\\"o_text_overflow\\" placeholder=\\"VD: Nhận xét hàng tháng\\"/>\\n                        </h1>\\n                    </div>\\n                    <group>\\n                        <group>\\n                            <field name=\\"project_id\\" invisible=\\"1\\"/>\\n                            <field name=\\"color\\" invisible=\\"1\\"/>\\n                            <field name=\\"status\\" widget=\\"status_with_color\\" options=\\"{'color_field': 'color'}\\"/>\\n                            <field name=\\"progress\\" widget=\\"progressbar\\" options=\\"{'editable': true}\\"/>\\n                        </group>\\n                        <group>\\n                            <field name=\\"user_id\\" widget=\\"many2one_avatar_user\\" readonly=\\"1\\"/>\\n                            <field name=\\"date\\"/>\\n                        </group>\\n                    </group>\\n                    <separator/>\\n                    <notebook>\\n                        <page string=\\"Mô tả\\" name=\\"description\\">\\n                            <field name=\\"description\\" nolabel=\\"1\\" class=\\"o_project_update_description\\" options=\\"{'resizable': false, 'collaborative': true}\\"/>\\n                        </page>\\n                    </notebook>\\n                </sheet>\\n                <div class=\\"oe_chatter\\">\\n                    <field name=\\"message_follower_ids\\" options=\\"{'post_refresh':True}\\" groups=\\"base.group_user\\"/>\\n                    <field name=\\"activity_ids\\"/>\\n                    <field name=\\"message_ids\\"/>\\n                </div>\\n            </form>"}	<?xml version="1.0"?>\n<form string="Project Update" class="o_form_project_update" js_class="form_description_expander">\n                <sheet>\n                    <div class="oe_title">\n                        <h1>\n                            <field name="name" class="o_text_overflow" placeholder="e.g. Monthly review"/>\n                        </h1>\n                    </div>\n                    <group>\n                        <group>\n                            <field name="project_id" invisible="1"/>\n                            <field name="color" invisible="1"/>\n                            <field name="status" widget="status_with_color" options="{'color_field': 'color'}"/>\n                            <field name="progress" widget="progressbar" options="{'editable': true}"/>\n                        </group>\n                        <group>\n                            <field name="user_id" widget="many2one_avatar_user" readonly="1"/>\n                            <field name="date"/>\n                        </group>\n                    </group>\n                    <separator/>\n                    <notebook>\n                        <page string="Description" name="description">\n                            <field name="description" nolabel="1" class="o_project_update_description" options="{'resizable': false, 'collaborative': true}"/>\n                        </page>\n                    </notebook>\n                </sheet>\n                <div class="oe_chatter">\n                    <field name="message_follower_ids" options="{'post_refresh':True}" groups="base.group_user"/>\n                    <field name="activity_ids"/>\n                    <field name="message_ids"/>\n                </div>\n            </form>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1686	16	564	1	1	provider.form.inherit.website	payment.provider	\N	form	website_payment/views/payment_provider.xml	\N	extension	{"en_US": "<group name=\\"payment_state\\" position=\\"inside\\">\\n                    <field name=\\"website_id\\" options=\\"{'no_open': True, 'no_create_edit': True}\\" groups=\\"website.group_multi_website\\"/>\\n                </group>"}	<?xml version="1.0"?>\n<group name="payment_state" position="inside">\n                    <field name="website_id" options="{'no_open': True, 'no_create_edit': True}" groups="website.group_multi_website"/>\n                </group>\n            	f	t	2025-06-18 16:05:10.394799	2025-06-18 16:05:10.394799	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1177	16	\N	1	1	project.update.view.kanban	project.update	\N	kanban	project/views/project_update_views.xml	\N	primary	{"en_US": "<kanban class=\\"o_pupdate_kanban\\" sample=\\"1\\" js_class=\\"project_update_kanban\\">\\n                <field name=\\"color\\"/>\\n                <templates>\\n                    <t t-name=\\"kanban-box\\">\\n                        <div t-attf-class=\\"{{!selection_mode ? 'oe_kanban_color_' + record.color.raw_value : ''}} oe_kanban_global_click o_pupdate_kanban_card\\">\\n                            <!-- Project Update Kanban View is always ungrouped - see js_class -->\\n                            <div class=\\"o_kanban_detail_ungrouped row\\">\\n                                <div class=\\"col-sm-4 col-6 o_pupdate_name\\">\\n                                    <b><field name=\\"name_cropped\\"/></b>\\n                                    <div>\\n                                        <field name=\\"user_id\\" widget=\\"many2one_avatar_user\\"/>\\n                                        <t t-esc=\\"record.user_id.value\\"/>\\n                                    </div>\\n                                </div>\\n                                <div class=\\"col-sm-2 text-sm-start col-6 align-end\\">\\n                                    <field name=\\"color\\" invisible=\\"1\\"/>\\n                                    <b><field name=\\"status\\" widget=\\"status_with_color\\" options=\\"{'color_field': 'color'}\\"/></b>\\n                                </div>\\n                                <div class=\\"col-sm-2 col-6 pb-0\\">\\n                                    <b><field name=\\"progress_percentage\\" widget=\\"percentage\\"/></b>\\n                                    <div>Progress</div>\\n                                </div>\\n                                <div class=\\"col-sm-2 col-6 pb-0\\">\\n                                    <b><field name=\\"date\\"/></b>\\n                                    <div>Date</div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </t>\\n                </templates>\\n            </kanban>", "vi_VN": "<kanban class=\\"o_pupdate_kanban\\" sample=\\"1\\" js_class=\\"project_update_kanban\\">\\n                <field name=\\"color\\"/>\\n                <templates>\\n                    <t t-name=\\"kanban-box\\">\\n                        <div t-attf-class=\\"{{!selection_mode ? 'oe_kanban_color_' + record.color.raw_value : ''}} oe_kanban_global_click o_pupdate_kanban_card\\">\\n                            <!-- Project Update Kanban View is always ungrouped - see js_class -->\\n                            <div class=\\"o_kanban_detail_ungrouped row\\">\\n                                <div class=\\"col-sm-4 col-6 o_pupdate_name\\">\\n                                    <b><field name=\\"name_cropped\\"/></b>\\n                                    <div>\\n                                        <field name=\\"user_id\\" widget=\\"many2one_avatar_user\\"/>\\n                                        <t t-esc=\\"record.user_id.value\\"/>\\n                                    </div>\\n                                </div>\\n                                <div class=\\"col-sm-2 text-sm-start col-6 align-end\\">\\n                                    <field name=\\"color\\" invisible=\\"1\\"/>\\n                                    <b><field name=\\"status\\" widget=\\"status_with_color\\" options=\\"{'color_field': 'color'}\\"/></b>\\n                                </div>\\n                                <div class=\\"col-sm-2 col-6 pb-0\\">\\n                                    <b><field name=\\"progress_percentage\\" widget=\\"percentage\\"/></b>\\n                                    <div>Tiến độ</div>\\n                                </div>\\n                                <div class=\\"col-sm-2 col-6 pb-0\\">\\n                                    <b><field name=\\"date\\"/></b>\\n                                    <div>Ngày</div>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </t>\\n                </templates>\\n            </kanban>"}	<?xml version="1.0"?>\n<kanban class="o_pupdate_kanban" sample="1" js_class="project_update_kanban">\n                <field name="color"/>\n                <templates>\n                    <t t-name="kanban-box">\n                        <div t-attf-class="{{!selection_mode ? 'oe_kanban_color_' + record.color.raw_value : ''}} oe_kanban_global_click o_pupdate_kanban_card">\n                            <!-- Project Update Kanban View is always ungrouped - see js_class -->\n                            <div class="o_kanban_detail_ungrouped row">\n                                <div class="col-sm-4 col-6 o_pupdate_name">\n                                    <b><field name="name_cropped"/></b>\n                                    <div>\n                                        <field name="user_id" widget="many2one_avatar_user"/>\n                                        <t t-esc="record.user_id.value"/>\n                                    </div>\n                                </div>\n                                <div class="col-sm-2 text-sm-start col-6 align-end">\n                                    <field name="color" invisible="1"/>\n                                    <b><field name="status" widget="status_with_color" options="{'color_field': 'color'}"/></b>\n                                </div>\n                                <div class="col-sm-2 col-6 pb-0">\n                                    <b><field name="progress_percentage" widget="percentage"/></b>\n                                    <div>Progress</div>\n                                </div>\n                                <div class="col-sm-2 col-6 pb-0">\n                                    <b><field name="date"/></b>\n                                    <div>Date</div>\n                                </div>\n                            </div>\n                        </div>\n                    </t>\n                </templates>\n            </kanban>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1178	16	\N	1	1	project.update.view.tree	project.update	\N	tree	project/views/project_update_views.xml	\N	primary	{"en_US": "<tree sample=\\"1\\" js_class=\\"project_update_list\\">\\n                <field name=\\"name\\"/>\\n                <field name=\\"user_id\\" widget=\\"many2one_avatar_user\\" class=\\"fw-bold\\" optional=\\"show\\"/>\\n                <field name=\\"date\\" optional=\\"show\\"/>\\n                <field name=\\"progress_percentage\\" string=\\"Progress\\" widget=\\"percentage\\" optional=\\"show\\"/>\\n                <field name=\\"color\\" invisible=\\"1\\"/>\\n                <field name=\\"status\\" widget=\\"status_with_color\\" options=\\"{'color_field': 'color'}\\"/>\\n            </tree>", "vi_VN": "<tree sample=\\"1\\" js_class=\\"project_update_list\\">\\n                <field name=\\"name\\"/>\\n                <field name=\\"user_id\\" widget=\\"many2one_avatar_user\\" class=\\"fw-bold\\" optional=\\"show\\"/>\\n                <field name=\\"date\\" optional=\\"show\\"/>\\n                <field name=\\"progress_percentage\\" string=\\"Tiến độ\\" widget=\\"percentage\\" optional=\\"show\\"/>\\n                <field name=\\"color\\" invisible=\\"1\\"/>\\n                <field name=\\"status\\" widget=\\"status_with_color\\" options=\\"{'color_field': 'color'}\\"/>\\n            </tree>"}	<?xml version="1.0"?>\n<tree sample="1" js_class="project_update_list">\n                <field name="name"/>\n                <field name="user_id" widget="many2one_avatar_user" class="fw-bold" optional="show"/>\n                <field name="date" optional="show"/>\n                <field name="progress_percentage" string="Progress" widget="percentage" optional="show"/>\n                <field name="color" invisible="1"/>\n                <field name="status" widget="status_with_color" options="{'color_field': 'color'}"/>\n            </tree>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1179	16	\N	1	1	project.milestone_deadline	\N	project.milestone_deadline	qweb	project/views/project_update_templates.xml	\N	primary	{"en_US": "<t t-name=\\"project.milestone_deadline\\">\\n<t t-if=\\"milestone['deadline']\\">\\n(due <t t-esc=\\"milestone['deadline']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/><t t-if=\\"not milestone['is_reached'] or not milestone['reached_date']\\">\\n<t t-if=\\"milestone['can_be_marked_as_done']\\"> - <font t-att-style=\\"'color: rgb(0, ' + str(color_level) + ', 0)'\\">ready to be marked as reached</font></t>)</t><t t-else=\\"\\"> - reached on<t t-if=\\"milestone['reached_date'] &gt; milestone['deadline']\\">\\n<font t-att-style=\\"'color: rgb(' + str(color_level) + ', 0, 0)'\\"><b><t t-esc=\\"milestone['reached_date']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/></b></font>)</t><t t-else=\\"\\">\\n<font t-att-style=\\"'color: rgb(0, ' + str(color_level) + ', 0)'\\"><b><t t-esc=\\"milestone['reached_date']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/></b></font>)</t></t>\\n</t>\\n<t t-elif=\\"milestone['can_be_marked_as_done']\\">\\n(<font t-att-style=\\"'color: rgb(0, ' + str(color_level) + ', 0)'\\">ready to be marked as reached</font>)\\n</t>\\n    </t>", "vi_VN": "<t t-name=\\"project.milestone_deadline\\">\\n<t t-if=\\"milestone['deadline']\\">\\n(tới hạn <t t-esc=\\"milestone['deadline']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/><t t-if=\\"not milestone['is_reached'] or not milestone['reached_date']\\">\\n<t t-if=\\"milestone['can_be_marked_as_done']\\"> - <font t-att-style=\\"'color: rgb(0, ' + str(color_level) + ', 0)'\\">sẵn sàng được đánh dấu là đã đạt được</font></t>)</t><t t-else=\\"\\"> - đạt được vào<t t-if=\\"milestone['reached_date'] &gt; milestone['deadline']\\">\\n<font t-att-style=\\"'color: rgb(' + str(color_level) + ', 0, 0)'\\"><b><t t-esc=\\"milestone['reached_date']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/></b></font>)</t><t t-else=\\"\\">\\n<font t-att-style=\\"'color: rgb(0, ' + str(color_level) + ', 0)'\\"><b><t t-esc=\\"milestone['reached_date']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/></b></font>)</t></t>\\n</t>\\n<t t-elif=\\"milestone['can_be_marked_as_done']\\">\\n(<font t-att-style=\\"'color: rgb(0, ' + str(color_level) + ', 0)'\\">sẵn sàng được đánh dấu là đã đạt được</font>)\\n</t>\\n    </t>"}	<?xml version="1.0"?>\n<t t-name="project.milestone_deadline">\n<t t-if="milestone['deadline']">\n(due <t t-esc="milestone['deadline']" t-options="{&quot;widget&quot;: &quot;date&quot;}"/><t t-if="not milestone['is_reached'] or not milestone['reached_date']">\n<t t-if="milestone['can_be_marked_as_done']"> - <font t-att-style="'color: rgb(0, ' + str(color_level) + ', 0)'">ready to be marked as reached</font></t>)</t><t t-else=""> - reached on<t t-if="milestone['reached_date'] &gt; milestone['deadline']">\n<font t-att-style="'color: rgb(' + str(color_level) + ', 0, 0)'"><b><t t-esc="milestone['reached_date']" t-options="{&quot;widget&quot;: &quot;date&quot;}"/></b></font>)</t><t t-else="">\n<font t-att-style="'color: rgb(0, ' + str(color_level) + ', 0)'"><b><t t-esc="milestone['reached_date']" t-options="{&quot;widget&quot;: &quot;date&quot;}"/></b></font>)</t></t>\n</t>\n<t t-elif="milestone['can_be_marked_as_done']">\n(<font t-att-style="'color: rgb(0, ' + str(color_level) + ', 0)'">ready to be marked as reached</font>)\n</t>\n    </t>\n\n    	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1688	16	557	1	1	payment_checkout	\N	website_payment.payment_checkout	qweb	website_payment/views/donation_templates.xml	\N	extension	{"en_US": "<data inherit_id=\\"payment.checkout\\">\\n        <!-- Make available anchor to inject donation form content -->\\n        <xpath expr=\\"//form/t[@t-set='provider_count']\\" position=\\"before\\">\\n            <t t-if=\\"is_donation\\">\\n                <t t-set=\\"donation_confirm_button_icon_class\\" t-valuef=\\"fa-gift\\"/>\\n                <t t-set=\\"donation_confirm_button_label\\">Donate Now</t>\\n                <h3 class=\\"o_page_header mt16 mb4\\">Donation</h3>\\n                <div class=\\"row\\">\\n                    <div t-attf-class=\\"mb-3 #{error.get('name') and 'o_has_error' or ''} col-lg-12 div_name\\">\\n                        <label class=\\"col-form-label fw-bold\\" for=\\"name\\">Name\\n                            <span class=\\"s_website_form_mark\\"> *</span>\\n                        </label>\\n                        <input t-att-readonly=\\"'1' if 'name' in partner_details and partner_id else None\\" type=\\"text\\" name=\\"name\\" t-attf-class=\\"form-control #{error.get('name') and 'is-invalid' or ''}\\" t-att-value=\\"partner_details.get('name')\\"/>\\n                    </div>\\n                    <div class=\\"w-100\\"/>\\n                    <div t-attf-class=\\"mb-3 #{error.get('email') and 'o_has_error' or ''} col-lg-6\\" id=\\"div_email\\">\\n                        <label class=\\"col-form-label fw-bold\\" for=\\"email\\">Email\\n                            <span class=\\"s_website_form_mark\\"> *</span>\\n                        </label>\\n                        <input t-att-readonly=\\"'1' if 'email' in partner_details and partner_id else None\\" type=\\"email\\" name=\\"email\\" t-attf-class=\\"form-control #{error.get('email') and 'is-invalid' or ''}\\" t-att-value=\\"partner_details.get('email')\\"/>\\n                    </div>\\n                    <t t-set=\\"country_id\\" t-value=\\"partner_details.get('country_id')\\"/>\\n                    <div t-attf-class=\\"mb-3 #{error.get('country_id') and 'o_has_error' or ''} col-lg-6 div_country\\">\\n                        <label class=\\"col-form-label fw-bold\\" for=\\"country_id\\">Country\\n                            <span class=\\"s_website_form_mark\\"> *</span>\\n                        </label>\\n                        <select t-att-disabled=\\"'1' if country_id and partner_id else None\\" id=\\"country_id\\" name=\\"country_id\\" t-attf-class=\\"o_wpayment_fee_impact form-select #{error.get('country_id') and 'is-invalid' or ''}\\">\\n                            <option value=\\"\\">Country...</option>\\n                            <t t-foreach=\\"countries\\" t-as=\\"c\\">\\n                                <option t-att-value=\\"c.id\\" t-att-selected=\\"c.id == (country_id or -1)\\">\\n                                    <t t-out=\\"c.name\\"/>\\n                                </option>\\n                            </t>\\n                        </select>\\n                    </div>\\n                    <div class=\\"w-100\\"/>\\n                    <div class=\\"mb-3 col-lg-12 o_donation_payment_form\\">\\n                        <div class=\\"col-lg-6 px-0\\">\\n                            <label class=\\"col-form-label fw-bold\\">Amount (<t t-out=\\"currency.symbol\\"/>)</label>\\n                            <t t-set=\\"donation_layout\\" t-value=\\"donation_options.get('customAmount')\\"/>\\n                            <t t-set=\\"prefilled_options\\" t-value=\\"donation_options.get('prefilledOptions')\\"/>\\n                            <t t-if=\\"prefilled_options\\">\\n                                <t t-foreach=\\"donation_amounts\\" t-as=\\"donation_amount\\">\\n                                    <div class=\\"form-check my-2\\">\\n                                        <t t-set=\\"is_checked\\" t-value=\\"float(amount) == float(donation_amount)\\"/>\\n                                        <t t-set=\\"has_checked\\" t-value=\\"has_checked or is_checked\\"/>\\n                                        <input class=\\"o_wpayment_fee_impact form-check-input\\" type=\\"radio\\" name=\\"amount\\" t-attf-id=\\"amount_#{donation_amount_index}\\" t-att-value=\\"donation_amount\\" t-att-checked=\\"is_checked or None\\"/>\\n                                        <label class=\\"form-check-label mt-0\\" t-attf-for=\\"amount_#{donation_amount_index}\\">\\n                                            <t t-out=\\"donation_amount\\"/>\\n                                            <span t-if=\\"donation_options.get('descriptions')\\" class=\\"text-muted fst-italic ms-1\\">\\n                                                - <t t-out=\\"donation_descriptions[donation_amount_index]\\"/>\\n                                            </span>\\n                                        </label>\\n                                    </div>\\n                                </t>\\n                                <div t-attf-class=\\"form-check my-2 #{not donation_layout and 'd-none' or ''}\\">\\n                                    <input class=\\"o_wpayment_fee_impact form-check-input\\" type=\\"radio\\" id=\\"other_amount\\" name=\\"amount\\" t-att-value=\\"amount\\" t-att-checked=\\"not has_checked or None\\"/>\\n                                    <label class=\\"form-check-label mt-0 d-block\\" for=\\"other_amount\\">\\n                                        <t t-call=\\"website_payment.donation_input\\">\\n                                            <t t-set=\\"amount\\" t-value=\\"not has_checked and amount or ''\\"/>\\n                                        </t>\\n                                    </label>\\n                                </div>\\n                            </t>\\n                            <t t-else=\\"\\">\\n                                <t t-call=\\"website_payment.donation_input\\"/>\\n                            </t>\\n                        </div>\\n                        <div class=\\"col-lg-12 px-0\\">\\n                            <div class=\\"form-check mt-3\\">\\n                                <input class=\\"form-check-input\\" type=\\"checkbox\\" value=\\"\\" id=\\"donation_comment_checkbox\\"/>\\n                                <label class=\\"form-check-label\\" for=\\"donation_comment_checkbox\\">Write us a comment</label>\\n                            </div>\\n                            <textarea class=\\"form-control d-none mt-2\\" id=\\"donation_comment\\" placeholder=\\"Your comment\\"/>\\n                        </div>\\n                    </div>\\n                    <input type=\\"hidden\\" name=\\"donation_recipient_email\\" t-att-value=\\"donation_options.get('donationEmail')\\"/>\\n                    <div class=\\"w-100\\"/>\\n                </div>\\n                <h3 class=\\"o_page_header mt16 mb4\\">Payment Details</h3>\\n            </t>\\n        </xpath>\\n        <!-- Make fee badges recognizable so that they can be updated upon amount changes -->\\n        <xpath expr=\\"//t[@t-if='fees_by_provider.get(provider)']/span\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"o_payment_fee\\" separator=\\" \\"/>\\n        </xpath>\\n        <xpath expr=\\"//span[@t-if='fees_by_provider.get(token.provider_id)']\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"o_payment_fee\\" separator=\\" \\"/>\\n        </xpath>\\n        <!-- Allow to find the provider id from the radio of tokens -->\\n        <xpath expr=\\"//t[@t-foreach='tokens']//input[@name='o_payment_radio']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-att-data-payment-provider-id\\">token.provider_id.id</attribute>\\n        </xpath>\\n        <!-- Adapt Pay confirm button -->\\n        <xpath expr=\\"//t[@t-set='label']\\" position=\\"after\\">\\n            <t t-set=\\"label\\" t-value=\\"donation_confirm_button_label or label\\"/>\\n        </xpath>\\n        <xpath expr=\\"//t[@t-set='icon_class']\\" position=\\"after\\">\\n            <t t-set=\\"icon_class\\" t-value=\\"donation_confirm_button_icon_class or icon_class\\"/>\\n        </xpath>\\n    </data>", "vi_VN": "<data inherit_id=\\"payment.checkout\\">\\n        <!-- Make available anchor to inject donation form content -->\\n        <xpath expr=\\"//form/t[@t-set='provider_count']\\" position=\\"before\\">\\n            <t t-if=\\"is_donation\\">\\n                <t t-set=\\"donation_confirm_button_icon_class\\" t-valuef=\\"fa-gift\\"/>\\n                <t t-set=\\"donation_confirm_button_label\\">Quyên góp </t>\\n                <h3 class=\\"o_page_header mt16 mb4\\">Quyên góp</h3>\\n                <div class=\\"row\\">\\n                    <div t-attf-class=\\"mb-3 #{error.get('name') and 'o_has_error' or ''} col-lg-12 div_name\\">\\n                        <label class=\\"col-form-label fw-bold\\" for=\\"name\\">Tên\\n                            <span class=\\"s_website_form_mark\\"> *</span>\\n                        </label>\\n                        <input t-att-readonly=\\"'1' if 'name' in partner_details and partner_id else None\\" type=\\"text\\" name=\\"name\\" t-attf-class=\\"form-control #{error.get('name') and 'is-invalid' or ''}\\" t-att-value=\\"partner_details.get('name')\\"/>\\n                    </div>\\n                    <div class=\\"w-100\\"/>\\n                    <div t-attf-class=\\"mb-3 #{error.get('email') and 'o_has_error' or ''} col-lg-6\\" id=\\"div_email\\">\\n                        <label class=\\"col-form-label fw-bold\\" for=\\"email\\">Email\\n                            <span class=\\"s_website_form_mark\\"> *</span>\\n                        </label>\\n                        <input t-att-readonly=\\"'1' if 'email' in partner_details and partner_id else None\\" type=\\"email\\" name=\\"email\\" t-attf-class=\\"form-control #{error.get('email') and 'is-invalid' or ''}\\" t-att-value=\\"partner_details.get('email')\\"/>\\n                    </div>\\n                    <t t-set=\\"country_id\\" t-value=\\"partner_details.get('country_id')\\"/>\\n                    <div t-attf-class=\\"mb-3 #{error.get('country_id') and 'o_has_error' or ''} col-lg-6 div_country\\">\\n                        <label class=\\"col-form-label fw-bold\\" for=\\"country_id\\">Quốc gia\\n                            <span class=\\"s_website_form_mark\\"> *</span>\\n                        </label>\\n                        <select t-att-disabled=\\"'1' if country_id and partner_id else None\\" id=\\"country_id\\" name=\\"country_id\\" t-attf-class=\\"o_wpayment_fee_impact form-select #{error.get('country_id') and 'is-invalid' or ''}\\">\\n                            <option value=\\"\\">Quốc gia...</option>\\n                            <t t-foreach=\\"countries\\" t-as=\\"c\\">\\n                                <option t-att-value=\\"c.id\\" t-att-selected=\\"c.id == (country_id or -1)\\">\\n                                    <t t-out=\\"c.name\\"/>\\n                                </option>\\n                            </t>\\n                        </select>\\n                    </div>\\n                    <div class=\\"w-100\\"/>\\n                    <div class=\\"mb-3 col-lg-12 o_donation_payment_form\\">\\n                        <div class=\\"col-lg-6 px-0\\">\\n                            <label class=\\"col-form-label fw-bold\\">Khoản (<t t-out=\\"currency.symbol\\"/>)</label>\\n                            <t t-set=\\"donation_layout\\" t-value=\\"donation_options.get('customAmount')\\"/>\\n                            <t t-set=\\"prefilled_options\\" t-value=\\"donation_options.get('prefilledOptions')\\"/>\\n                            <t t-if=\\"prefilled_options\\">\\n                                <t t-foreach=\\"donation_amounts\\" t-as=\\"donation_amount\\">\\n                                    <div class=\\"form-check my-2\\">\\n                                        <t t-set=\\"is_checked\\" t-value=\\"float(amount) == float(donation_amount)\\"/>\\n                                        <t t-set=\\"has_checked\\" t-value=\\"has_checked or is_checked\\"/>\\n                                        <input class=\\"o_wpayment_fee_impact form-check-input\\" type=\\"radio\\" name=\\"amount\\" t-attf-id=\\"amount_#{donation_amount_index}\\" t-att-value=\\"donation_amount\\" t-att-checked=\\"is_checked or None\\"/>\\n                                        <label class=\\"form-check-label mt-0\\" t-attf-for=\\"amount_#{donation_amount_index}\\">\\n                                            <t t-out=\\"donation_amount\\"/>\\n                                            <span t-if=\\"donation_options.get('descriptions')\\" class=\\"text-muted fst-italic ms-1\\">\\n                                                - <t t-out=\\"donation_descriptions[donation_amount_index]\\"/>\\n                                            </span>\\n                                        </label>\\n                                    </div>\\n                                </t>\\n                                <div t-attf-class=\\"form-check my-2 #{not donation_layout and 'd-none' or ''}\\">\\n                                    <input class=\\"o_wpayment_fee_impact form-check-input\\" type=\\"radio\\" id=\\"other_amount\\" name=\\"amount\\" t-att-value=\\"amount\\" t-att-checked=\\"not has_checked or None\\"/>\\n                                    <label class=\\"form-check-label mt-0 d-block\\" for=\\"other_amount\\">\\n                                        <t t-call=\\"website_payment.donation_input\\">\\n                                            <t t-set=\\"amount\\" t-value=\\"not has_checked and amount or ''\\"/>\\n                                        </t>\\n                                    </label>\\n                                </div>\\n                            </t>\\n                            <t t-else=\\"\\">\\n                                <t t-call=\\"website_payment.donation_input\\"/>\\n                            </t>\\n                        </div>\\n                        <div class=\\"col-lg-12 px-0\\">\\n                            <div class=\\"form-check mt-3\\">\\n                                <input class=\\"form-check-input\\" type=\\"checkbox\\" value=\\"\\" id=\\"donation_comment_checkbox\\"/>\\n                                <label class=\\"form-check-label\\" for=\\"donation_comment_checkbox\\">Viết nhận xét</label>\\n                            </div>\\n                            <textarea class=\\"form-control d-none mt-2\\" id=\\"donation_comment\\" placeholder=\\"Nhận xét của bạn\\"/>\\n                        </div>\\n                    </div>\\n                    <input type=\\"hidden\\" name=\\"donation_recipient_email\\" t-att-value=\\"donation_options.get('donationEmail')\\"/>\\n                    <div class=\\"w-100\\"/>\\n                </div>\\n                <h3 class=\\"o_page_header mt16 mb4\\">Chi tiết thanh toán</h3>\\n            </t>\\n        </xpath>\\n        <!-- Make fee badges recognizable so that they can be updated upon amount changes -->\\n        <xpath expr=\\"//t[@t-if='fees_by_provider.get(provider)']/span\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"o_payment_fee\\" separator=\\" \\"/>\\n        </xpath>\\n        <xpath expr=\\"//span[@t-if='fees_by_provider.get(token.provider_id)']\\" position=\\"attributes\\">\\n            <attribute name=\\"class\\" add=\\"o_payment_fee\\" separator=\\" \\"/>\\n        </xpath>\\n        <!-- Allow to find the provider id from the radio of tokens -->\\n        <xpath expr=\\"//t[@t-foreach='tokens']//input[@name='o_payment_radio']\\" position=\\"attributes\\">\\n            <attribute name=\\"t-att-data-payment-provider-id\\">token.provider_id.id</attribute>\\n        </xpath>\\n        <!-- Adapt Pay confirm button -->\\n        <xpath expr=\\"//t[@t-set='label']\\" position=\\"after\\">\\n            <t t-set=\\"label\\" t-value=\\"donation_confirm_button_label or label\\"/>\\n        </xpath>\\n        <xpath expr=\\"//t[@t-set='icon_class']\\" position=\\"after\\">\\n            <t t-set=\\"icon_class\\" t-value=\\"donation_confirm_button_icon_class or icon_class\\"/>\\n        </xpath>\\n    </data>"}	<?xml version="1.0"?>\n<data inherit_id="payment.checkout">\n        <!-- Make available anchor to inject donation form content -->\n        <xpath expr="//form/t[@t-set='provider_count']" position="before">\n            <t t-if="is_donation">\n                <t t-set="donation_confirm_button_icon_class" t-valuef="fa-gift"/>\n                <t t-set="donation_confirm_button_label">Donate Now</t>\n                <h3 class="o_page_header mt16 mb4">Donation</h3>\n                <div class="row">\n                    <div t-attf-class="mb-3 #{error.get('name') and 'o_has_error' or ''} col-lg-12 div_name">\n                        <label class="col-form-label fw-bold" for="name">Name\n                            <span class="s_website_form_mark"> *</span>\n                        </label>\n                        <input t-att-readonly="'1' if 'name' in partner_details and partner_id else None" type="text" name="name" t-attf-class="form-control #{error.get('name') and 'is-invalid' or ''}" t-att-value="partner_details.get('name')"/>\n                    </div>\n                    <div class="w-100"/>\n                    <div t-attf-class="mb-3 #{error.get('email') and 'o_has_error' or ''} col-lg-6" id="div_email">\n                        <label class="col-form-label fw-bold" for="email">Email\n                            <span class="s_website_form_mark"> *</span>\n                        </label>\n                        <input t-att-readonly="'1' if 'email' in partner_details and partner_id else None" type="email" name="email" t-attf-class="form-control #{error.get('email') and 'is-invalid' or ''}" t-att-value="partner_details.get('email')"/>\n                    </div>\n                    <t t-set="country_id" t-value="partner_details.get('country_id')"/>\n                    <div t-attf-class="mb-3 #{error.get('country_id') and 'o_has_error' or ''} col-lg-6 div_country">\n                        <label class="col-form-label fw-bold" for="country_id">Country\n                            <span class="s_website_form_mark"> *</span>\n                        </label>\n                        <select t-att-disabled="'1' if country_id and partner_id else None" id="country_id" name="country_id" t-attf-class="o_wpayment_fee_impact form-select #{error.get('country_id') and 'is-invalid' or ''}">\n                            <option value="">Country...</option>\n                            <t t-foreach="countries" t-as="c">\n                                <option t-att-value="c.id" t-att-selected="c.id == (country_id or -1)">\n                                    <t t-out="c.name"/>\n                                </option>\n                            </t>\n                        </select>\n                    </div>\n                    <div class="w-100"/>\n                    <div class="mb-3 col-lg-12 o_donation_payment_form">\n                        <div class="col-lg-6 px-0">\n                            <label class="col-form-label fw-bold">Amount (<t t-out="currency.symbol"/>)</label>\n                            <t t-set="donation_layout" t-value="donation_options.get('customAmount')"/>\n                            <t t-set="prefilled_options" t-value="donation_options.get('prefilledOptions')"/>\n                            <t t-if="prefilled_options">\n                                <t t-foreach="donation_amounts" t-as="donation_amount">\n                                    <div class="form-check my-2">\n                                        <t t-set="is_checked" t-value="float(amount) == float(donation_amount)"/>\n                                        <t t-set="has_checked" t-value="has_checked or is_checked"/>\n                                        <input class="o_wpayment_fee_impact form-check-input" type="radio" name="amount" t-attf-id="amount_#{donation_amount_index}" t-att-value="donation_amount" t-att-checked="is_checked or None"/>\n                                        <label class="form-check-label mt-0" t-attf-for="amount_#{donation_amount_index}">\n                                            <t t-out="donation_amount"/>\n                                            <span t-if="donation_options.get('descriptions')" class="text-muted fst-italic ms-1">\n                                                - <t t-out="donation_descriptions[donation_amount_index]"/>\n                                            </span>\n                                        </label>\n                                    </div>\n                                </t>\n                                <div t-attf-class="form-check my-2 #{not donation_layout and 'd-none' or ''}">\n                                    <input class="o_wpayment_fee_impact form-check-input" type="radio" id="other_amount" name="amount" t-att-value="amount" t-att-checked="not has_checked or None"/>\n                                    <label class="form-check-label mt-0 d-block" for="other_amount">\n                                        <t t-call="website_payment.donation_input">\n                                            <t t-set="amount" t-value="not has_checked and amount or ''"/>\n                                        </t>\n                                    </label>\n                                </div>\n                            </t>\n                            <t t-else="">\n                                <t t-call="website_payment.donation_input"/>\n                            </t>\n                        </div>\n                        <div class="col-lg-12 px-0">\n                            <div class="form-check mt-3">\n                                <input class="form-check-input" type="checkbox" value="" id="donation_comment_checkbox"/>\n                                <label class="form-check-label" for="donation_comment_checkbox">Write us a comment</label>\n                            </div>\n                            <textarea class="form-control d-none mt-2" id="donation_comment" placeholder="Your comment"/>\n                        </div>\n                    </div>\n                    <input type="hidden" name="donation_recipient_email" t-att-value="donation_options.get('donationEmail')"/>\n                    <div class="w-100"/>\n                </div>\n                <h3 class="o_page_header mt16 mb4">Payment Details</h3>\n            </t>\n        </xpath>\n        <!-- Make fee badges recognizable so that they can be updated upon amount changes -->\n        <xpath expr="//t[@t-if='fees_by_provider.get(provider)']/span" position="attributes">\n            <attribute name="class" add="o_payment_fee" separator=" "/>\n        </xpath>\n        <xpath expr="//span[@t-if='fees_by_provider.get(token.provider_id)']" position="attributes">\n            <attribute name="class" add="o_payment_fee" separator=" "/>\n        </xpath>\n        <!-- Allow to find the provider id from the radio of tokens -->\n        <xpath expr="//t[@t-foreach='tokens']//input[@name='o_payment_radio']" position="attributes">\n            <attribute name="t-att-data-payment-provider-id">token.provider_id.id</attribute>\n        </xpath>\n        <!-- Adapt Pay confirm button -->\n        <xpath expr="//t[@t-set='label']" position="after">\n            <t t-set="label" t-value="donation_confirm_button_label or label"/>\n        </xpath>\n        <xpath expr="//t[@t-set='icon_class']" position="after">\n            <t t-set="icon_class" t-value="donation_confirm_button_icon_class or icon_class"/>\n        </xpath>\n    </data>\n\n    	f	t	2025-06-18 16:05:10.394799	2025-06-18 16:05:10.394799	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1691	16	1494	1	1	remove_external_snippets	\N	website_payment.remove_external_snippets	qweb	website_payment/views/snippets/snippets.xml	\N	extension	{"en_US": "<data inherit_id=\\"website.external_snippets\\">\\n    <xpath expr=\\"//t[@t-install='website_payment']\\" position=\\"replace\\"/>\\n</data>"}	<?xml version="1.0"?>\n<data inherit_id="website.external_snippets">\n    <xpath expr="//t[@t-install='website_payment']" position="replace"/>\n</data>\n\n	f	t	2025-06-18 16:05:10.394799	2025-06-18 16:05:10.394799	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	f
1180	16	\N	1	1	Project Update Description	\N	project.project_update_default_description	qweb	project/views/project_update_templates.xml	\N	primary	{"en_US": "<t name=\\"Project Update Description\\" t-name=\\"project.project_update_default_description\\">\\n<!--As this template is rendered in an html field, the spaces may be interpreted as nbsp while editing. -->\\n<div name=\\"summary\\">\\n<br/><h1 style=\\"font-weight: bolder;\\">Summary</h1>\\n<br/><p>How’s this project going?</p><br/><br/>\\n</div>\\n\\n<div name=\\"activities\\" t-if=\\"show_activities\\">\\n<h1 style=\\"font-weight: bolder;\\">Activities</h1>\\n</div>\\n\\n<div name=\\"milestone\\" t-if=\\"milestones['show_section']\\">\\n<br/>\\n<h3 style=\\"font-weight: bolder\\"><u>Milestones</u></h3>\\n\\n<ul class=\\"o_checklist\\" t-if=\\"milestones['list']\\">\\n<t t-foreach=\\"milestones['list']\\" t-as=\\"milestone\\">\\n<li t-attf-class=\\"{{milestone['is_reached'] and 'o_checked' or ''}}\\">\\n<t t-esc=\\"milestone['name']\\"/>\\n<span t-if=\\"milestone['is_deadline_future'] and not milestone['is_reached'] and not milestone['can_be_marked_as_done']\\"><font style=\\"color: rgb(190, 190, 190);\\"><t t-set=\\"color_level\\" t-value=\\"64\\"/><t t-call=\\"project.milestone_deadline\\"/></font></span>\\n<span t-elif=\\"milestone['is_deadline_exceeded']\\"><font style=\\"color: rgb(255, 0, 0);\\"><t t-call=\\"project.milestone_deadline\\"/></font></span>\\n<span t-else=\\"\\"><t t-set=\\"color_level\\" t-value=\\"128\\"/><t t-call=\\"project.milestone_deadline\\"/></span>\\n</li>\\n</t>\\n</ul>\\n\\n<t t-if=\\"milestones['updated']\\">\\n<t t-if=\\"milestones['last_update_date']\\">Since <t t-esc=\\"milestones['last_update_date']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/> (last project update), </t>\\n<t t-if=\\"len(milestones['updated']) &gt; 1\\">the deadline for the following milestones has been updated:</t>\\n<t t-else=\\"\\">the deadline for the following milestone has been updated:</t>\\n<ul>\\n<t t-foreach=\\"milestones['updated']\\" t-as=\\"milestone\\">\\n<li>\\n<t t-esc=\\"milestone['name']\\"/> (<t t-esc=\\"milestone['old_value']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/> =&gt; <t t-esc=\\"milestone['new_value']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/>)\\n</li>\\n</t>\\n</ul>\\n</t>\\n\\n<t t-if=\\"milestones['created']\\">\\n<t t-if=\\"len(milestones['created']) &gt; 1\\">The following milestones have been added:</t>\\n<t t-else=\\"\\">The following milestone has been added:</t>\\n<ul>\\n<t t-foreach=\\"milestones['created']\\" t-as=\\"milestone\\">\\n<li>\\n<t t-esc=\\"milestone['name']\\"/><span t-if=\\"milestone['is_deadline_future'] and not milestone['is_reached']\\">\\n<font style=\\"color: rgb(190, 190, 190);\\">\\n<t t-set=\\"color_level\\" t-value=\\"64\\"/>\\n<t t-call=\\"project.milestone_deadline\\"/>\\n</font>\\n</span>\\n<span t-else=\\"\\">\\n<t t-set=\\"color_level\\" t-value=\\"128\\"/>\\n<t t-call=\\"project.milestone_deadline\\"/>\\n</span>\\n</li>\\n</t>\\n</ul>\\n</t>\\n</div>\\n    </t>", "vi_VN": "<t name=\\"Project Update Description\\" t-name=\\"project.project_update_default_description\\">\\n<!--As this template is rendered in an html field, the spaces may be interpreted as nbsp while editing. -->\\n<div name=\\"summary\\">\\n<br/><h1 style=\\"font-weight: bolder;\\">Tổng kết</h1>\\n<br/><p>Dự án đang diễn ra như thế nào?</p><br/><br/>\\n</div>\\n\\n<div name=\\"activities\\" t-if=\\"show_activities\\">\\n<h1 style=\\"font-weight: bolder;\\">Các hoạt động</h1>\\n</div>\\n\\n<div name=\\"milestone\\" t-if=\\"milestones['show_section']\\">\\n<br/>\\n<h3 style=\\"font-weight: bolder\\"><u>Mốc thời gian</u></h3>\\n\\n<ul class=\\"o_checklist\\" t-if=\\"milestones['list']\\">\\n<t t-foreach=\\"milestones['list']\\" t-as=\\"milestone\\">\\n<li t-attf-class=\\"{{milestone['is_reached'] and 'o_checked' or ''}}\\">\\n<t t-esc=\\"milestone['name']\\"/>\\n<span t-if=\\"milestone['is_deadline_future'] and not milestone['is_reached'] and not milestone['can_be_marked_as_done']\\"><font style=\\"color: rgb(190, 190, 190);\\"><t t-set=\\"color_level\\" t-value=\\"64\\"/><t t-call=\\"project.milestone_deadline\\"/></font></span>\\n<span t-elif=\\"milestone['is_deadline_exceeded']\\"><font style=\\"color: rgb(255, 0, 0);\\"><t t-call=\\"project.milestone_deadline\\"/></font></span>\\n<span t-else=\\"\\"><t t-set=\\"color_level\\" t-value=\\"128\\"/><t t-call=\\"project.milestone_deadline\\"/></span>\\n</li>\\n</t>\\n</ul>\\n\\n<t t-if=\\"milestones['updated']\\">\\n<t t-if=\\"milestones['last_update_date']\\">Kể từ <t t-esc=\\"milestones['last_update_date']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/> (cập nhật dự án cuối cùng), </t>\\n<t t-if=\\"len(milestones['updated']) &gt; 1\\">thời hạn của các mốc thời gian sau đã được cập nhật:</t>\\n<t t-else=\\"\\">thời hạn của các mốc thời gian sau đã được cập nhật:</t>\\n<ul>\\n<t t-foreach=\\"milestones['updated']\\" t-as=\\"milestone\\">\\n<li>\\n<t t-esc=\\"milestone['name']\\"/> (<t t-esc=\\"milestone['old_value']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/> =&gt; <t t-esc=\\"milestone['new_value']\\" t-options=\\"{&quot;widget&quot;: &quot;date&quot;}\\"/>)\\n</li>\\n</t>\\n</ul>\\n</t>\\n\\n<t t-if=\\"milestones['created']\\">\\n<t t-if=\\"len(milestones['created']) &gt; 1\\">Các mốc thời gian sau đã được thêm:</t>\\n<t t-else=\\"\\">Mốc thời gian sau đã được thêm:</t>\\n<ul>\\n<t t-foreach=\\"milestones['created']\\" t-as=\\"milestone\\">\\n<li>\\n<t t-esc=\\"milestone['name']\\"/><span t-if=\\"milestone['is_deadline_future'] and not milestone['is_reached']\\">\\n<font style=\\"color: rgb(190, 190, 190);\\">\\n<t t-set=\\"color_level\\" t-value=\\"64\\"/>\\n<t t-call=\\"project.milestone_deadline\\"/>\\n</font>\\n</span>\\n<span t-else=\\"\\">\\n<t t-set=\\"color_level\\" t-value=\\"128\\"/>\\n<t t-call=\\"project.milestone_deadline\\"/>\\n</span>\\n</li>\\n</t>\\n</ul>\\n</t>\\n</div>\\n    </t>"}	<?xml version="1.0"?>\n<t name="Project Update Description" t-name="project.project_update_default_description">\n<!--As this template is rendered in an html field, the spaces may be interpreted as nbsp while editing. -->\n<div name="summary">\n<br/><h1 style="font-weight: bolder;">Summary</h1>\n<br/><p>How’s this project going?</p><br/><br/>\n</div>\n\n<div name="activities" t-if="show_activities">\n<h1 style="font-weight: bolder;">Activities</h1>\n</div>\n\n<div name="milestone" t-if="milestones['show_section']">\n<br/>\n<h3 style="font-weight: bolder"><u>Milestones</u></h3>\n\n<ul class="o_checklist" t-if="milestones['list']">\n<t t-foreach="milestones['list']" t-as="milestone">\n<li t-attf-class="{{milestone['is_reached'] and 'o_checked' or ''}}">\n<t t-esc="milestone['name']"/>\n<span t-if="milestone['is_deadline_future'] and not milestone['is_reached'] and not milestone['can_be_marked_as_done']"><font style="color: rgb(190, 190, 190);"><t t-set="color_level" t-value="64"/><t t-call="project.milestone_deadline"/></font></span>\n<span t-elif="milestone['is_deadline_exceeded']"><font style="color: rgb(255, 0, 0);"><t t-call="project.milestone_deadline"/></font></span>\n<span t-else=""><t t-set="color_level" t-value="128"/><t t-call="project.milestone_deadline"/></span>\n</li>\n</t>\n</ul>\n\n<t t-if="milestones['updated']">\n<t t-if="milestones['last_update_date']">Since <t t-esc="milestones['last_update_date']" t-options="{&quot;widget&quot;: &quot;date&quot;}"/> (last project update), </t>\n<t t-if="len(milestones['updated']) &gt; 1">the deadline for the following milestones has been updated:</t>\n<t t-else="">the deadline for the following milestone has been updated:</t>\n<ul>\n<t t-foreach="milestones['updated']" t-as="milestone">\n<li>\n<t t-esc="milestone['name']"/> (<t t-esc="milestone['old_value']" t-options="{&quot;widget&quot;: &quot;date&quot;}"/> =&gt; <t t-esc="milestone['new_value']" t-options="{&quot;widget&quot;: &quot;date&quot;}"/>)\n</li>\n</t>\n</ul>\n</t>\n\n<t t-if="milestones['created']">\n<t t-if="len(milestones['created']) &gt; 1">The following milestones have been added:</t>\n<t t-else="">The following milestone has been added:</t>\n<ul>\n<t t-foreach="milestones['created']" t-as="milestone">\n<li>\n<t t-esc="milestone['name']"/><span t-if="milestone['is_deadline_future'] and not milestone['is_reached']">\n<font style="color: rgb(190, 190, 190);">\n<t t-set="color_level" t-value="64"/>\n<t t-call="project.milestone_deadline"/>\n</font>\n</span>\n<span t-else="">\n<t t-set="color_level" t-value="128"/>\n<t t-call="project.milestone_deadline"/>\n</span>\n</li>\n</t>\n</ul>\n</t>\n</div>\n    </t>\n\n	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1183	16	\N	1	1	project.project.stage.view.form	project.project.stage	\N	form	project/views/project_project_stage_views.xml	\N	primary	{"en_US": "<form>\\n                <sheet>\\n                    <widget name=\\"web_ribbon\\" title=\\"Archived\\" bg_color=\\"bg-danger\\" attrs=\\"{'invisible': [('active', '=', True)]}\\"/>\\n                    <h1><field name=\\"name\\" placeholder=\\"New\\"/></h1>\\n                    <group>\\n                        <group>\\n                            <field name=\\"active\\" invisible=\\"1\\"/>\\n                            <field name=\\"mail_template_id\\" context=\\"{'default_model': 'project.project'}\\"/>\\n                            <field name=\\"sequence\\" groups=\\"base.group_no_one\\"/>\\n                        </group>\\n                        <group>\\n                            <field name=\\"fold\\"/>\\n                        </group>\\n                    </group>\\n                </sheet>\\n            </form>", "vi_VN": "<form>\\n                <sheet>\\n                    <widget name=\\"web_ribbon\\" title=\\"Đã lưu\\" bg_color=\\"bg-danger\\" attrs=\\"{'invisible': [('active', '=', True)]}\\"/>\\n                    <h1><field name=\\"name\\" placeholder=\\"Mới\\"/></h1>\\n                    <group>\\n                        <group>\\n                            <field name=\\"active\\" invisible=\\"1\\"/>\\n                            <field name=\\"mail_template_id\\" context=\\"{'default_model': 'project.project'}\\"/>\\n                            <field name=\\"sequence\\" groups=\\"base.group_no_one\\"/>\\n                        </group>\\n                        <group>\\n                            <field name=\\"fold\\"/>\\n                        </group>\\n                    </group>\\n                </sheet>\\n            </form>"}	<?xml version="1.0"?>\n<form>\n                <sheet>\n                    <widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>\n                    <h1><field name="name" placeholder="New"/></h1>\n                    <group>\n                        <group>\n                            <field name="active" invisible="1"/>\n                            <field name="mail_template_id" context="{'default_model': 'project.project'}"/>\n                            <field name="sequence" groups="base.group_no_one"/>\n                        </group>\n                        <group>\n                            <field name="fold"/>\n                        </group>\n                    </group>\n                </sheet>\n            </form>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1185	16	\N	1	1	project.project.stage.view.search	project.project.stage	\N	search	project/views/project_project_stage_views.xml	\N	primary	{"en_US": "<search>\\n                <field name=\\"name\\"/>\\n                <field name=\\"mail_template_id\\"/>\\n                <filter string=\\"Archived\\" name=\\"archived\\" domain=\\"[('active', '=', False)]\\"/>\\n            </search>", "vi_VN": "<search>\\n                <field name=\\"name\\"/>\\n                <field name=\\"mail_template_id\\"/>\\n                <filter string=\\"Đã lưu\\" name=\\"archived\\" domain=\\"[('active', '=', False)]\\"/>\\n            </search>"}	<?xml version="1.0"?>\n<search>\n                <field name="name"/>\n                <field name="mail_template_id"/>\n                <filter string="Archived" name="archived" domain="[('active', '=', False)]"/>\n            </search>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
308	16	\N	1	1	mail.channel.rtc.session.tree	mail.channel.rtc.session	\N	tree	mail/views/mail_channel_rtc_session_views.xml	\N	primary	{"en_US": "<tree string=\\"RTC Session\\">\\n                <header>\\n                    <button name=\\"action_disconnect\\" type=\\"object\\" string=\\"Disconnect\\"/>\\n                </header>\\n                <field name=\\"id\\"/>\\n                <field name=\\"channel_member_id\\"/>\\n                <field name=\\"channel_id\\"/>\\n                <field name=\\"write_date\\"/>\\n            </tree>", "vi_VN": "<tree string=\\"Phiên RTC\\">\\n                <header>\\n                    <button name=\\"action_disconnect\\" type=\\"object\\" string=\\"Ngắt kết nối\\"/>\\n                </header>\\n                <field name=\\"id\\"/>\\n                <field name=\\"channel_member_id\\"/>\\n                <field name=\\"channel_id\\"/>\\n                <field name=\\"write_date\\"/>\\n            </tree>"}	<?xml version="1.0"?>\n<tree string="RTC Session">\n                <header>\n                    <button name="action_disconnect" type="object" string="Disconnect"/>\n                </header>\n                <field name="id"/>\n                <field name="channel_member_id"/>\n                <field name="channel_id"/>\n                <field name="write_date"/>\n            </tree>\n        	f	t	2025-06-18 15:58:05.745465	2025-06-18 15:58:05.745465	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1186	16	\N	1	1	project.share.wizard.view.form	project.share.wizard	\N	form	project/wizard/project_share_wizard_views.xml	\N	primary	{"en_US": "<form string=\\"Share Project\\">\\n                <field name=\\"res_model\\" invisible=\\"1\\"/>\\n                <field name=\\"res_id\\" invisible=\\"1\\"/>\\n                <field name=\\"display_access_mode\\" invisible=\\"1\\"/>\\n                <p class=\\"alert alert-warning\\" attrs=\\"{'invisible': [('access_warning', '=', '')]}\\" role=\\"alert\\"><field name=\\"access_warning\\"/></p>\\n                <group attrs=\\"{'invisible': [('display_access_mode', '=', False)]}\\">\\n                    <field class=\\"flex-row\\" name=\\"access_mode\\" widget=\\"radio\\"/>\\n                </group>\\n                <group name=\\"share_link\\" attrs=\\"{'invisible': [('access_mode', '=', 'edit')]}\\">\\n                    <field name=\\"share_link\\" widget=\\"CopyClipboardChar\\" options=\\"{'string': 'Copy Link'}\\"/>\\n                </group>\\n                <group>\\n                    <div class=\\"o_td_label\\">\\n                        <label for=\\"partner_ids\\" string=\\"Invite People\\" attrs=\\"{'invisible': [('access_mode', '=', 'read')]}\\"/>\\n                        <label for=\\"partner_ids\\" attrs=\\"{'invisible': [('access_mode', '=', 'edit')]}\\"/>\\n                    </div>\\n                    <field name=\\"partner_ids\\" widget=\\"many2many_tags_email\\" placeholder=\\"Add contacts to share the project...\\" nolabel=\\"1\\" context=\\"{'show_email': True}\\"/>\\n                </group>\\n                <group>\\n                    <field name=\\"note\\" placeholder=\\"Add a note\\" nolabel=\\"1\\" colspan=\\"2\\"/>\\n                </group>\\n                <footer>\\n                    <button string=\\"Send\\" name=\\"action_send_mail\\" attrs=\\"{'invisible': [('access_warning', '!=', '')]}\\" type=\\"object\\" class=\\"btn-primary\\" data-hotkey=\\"q\\"/>\\n                    <button string=\\"Discard\\" class=\\"btn-secondary\\" special=\\"cancel\\" data-hotkey=\\"z\\"/>\\n                </footer>\\n            </form>", "vi_VN": "<form string=\\"Chia sẻ dự án\\">\\n                <field name=\\"res_model\\" invisible=\\"1\\"/>\\n                <field name=\\"res_id\\" invisible=\\"1\\"/>\\n                <field name=\\"display_access_mode\\" invisible=\\"1\\"/>\\n                <p class=\\"alert alert-warning\\" attrs=\\"{'invisible': [('access_warning', '=', '')]}\\" role=\\"alert\\"><field name=\\"access_warning\\"/></p>\\n                <group attrs=\\"{'invisible': [('display_access_mode', '=', False)]}\\">\\n                    <field class=\\"flex-row\\" name=\\"access_mode\\" widget=\\"radio\\"/>\\n                </group>\\n                <group name=\\"share_link\\" attrs=\\"{'invisible': [('access_mode', '=', 'edit')]}\\">\\n                    <field name=\\"share_link\\" widget=\\"CopyClipboardChar\\" options=\\"{'string': 'Copy Link'}\\"/>\\n                </group>\\n                <group>\\n                    <div class=\\"o_td_label\\">\\n                        <label for=\\"partner_ids\\" string=\\"Mời mọi người\\" attrs=\\"{'invisible': [('access_mode', '=', 'read')]}\\"/>\\n                        <label for=\\"partner_ids\\" attrs=\\"{'invisible': [('access_mode', '=', 'edit')]}\\"/>\\n                    </div>\\n                    <field name=\\"partner_ids\\" widget=\\"many2many_tags_email\\" placeholder=\\"Thêm liên hệ để chia sẻ dự án...\\" nolabel=\\"1\\" context=\\"{'show_email': True}\\"/>\\n                </group>\\n                <group>\\n                    <field name=\\"note\\" placeholder=\\"Thêm ghi chú\\" nolabel=\\"1\\" colspan=\\"2\\"/>\\n                </group>\\n                <footer>\\n                    <button string=\\"Gửi\\" name=\\"action_send_mail\\" attrs=\\"{'invisible': [('access_warning', '!=', '')]}\\" type=\\"object\\" class=\\"btn-primary\\" data-hotkey=\\"q\\"/>\\n                    <button string=\\"Huỷ bỏ\\" class=\\"btn-secondary\\" special=\\"cancel\\" data-hotkey=\\"z\\"/>\\n                </footer>\\n            </form>"}	<?xml version="1.0"?>\n<form string="Share Project">\n                <field name="res_model" invisible="1"/>\n                <field name="res_id" invisible="1"/>\n                <field name="display_access_mode" invisible="1"/>\n                <p class="alert alert-warning" attrs="{'invisible': [('access_warning', '=', '')]}" role="alert"><field name="access_warning"/></p>\n                <group attrs="{'invisible': [('display_access_mode', '=', False)]}">\n                    <field class="flex-row" name="access_mode" widget="radio"/>\n                </group>\n                <group name="share_link" attrs="{'invisible': [('access_mode', '=', 'edit')]}">\n                    <field name="share_link" widget="CopyClipboardChar" options="{'string': 'Copy Link'}"/>\n                </group>\n                <group>\n                    <div class="o_td_label">\n                        <label for="partner_ids" string="Invite People" attrs="{'invisible': [('access_mode', '=', 'read')]}"/>\n                        <label for="partner_ids" attrs="{'invisible': [('access_mode', '=', 'edit')]}"/>\n                    </div>\n                    <field name="partner_ids" widget="many2many_tags_email" placeholder="Add contacts to share the project..." nolabel="1" context="{'show_email': True}"/>\n                </group>\n                <group>\n                    <field name="note" placeholder="Add a note" nolabel="1" colspan="2"/>\n                </group>\n                <footer>\n                    <button string="Send" name="action_send_mail" attrs="{'invisible': [('access_warning', '!=', '')]}" type="object" class="btn-primary" data-hotkey="q"/>\n                    <button string="Discard" class="btn-secondary" special="cancel" data-hotkey="z"/>\n                </footer>\n            </form>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1187	16	\N	1	1	project.collaborator.view.tree	project.collaborator	\N	tree	project/views/project_collaborator_views.xml	\N	primary	{"en_US": "<tree string=\\"Project Collaborators\\" create=\\"0\\">\\n                <field name=\\"partner_id\\" options=\\"{'no_create': True}\\"/>\\n                <field name=\\"partner_email\\"/>\\n            </tree>", "vi_VN": "<tree string=\\"Cộng tác viên dự án\\" create=\\"0\\">\\n                <field name=\\"partner_id\\" options=\\"{'no_create': True}\\"/>\\n                <field name=\\"partner_email\\"/>\\n            </tree>"}	<?xml version="1.0"?>\n<tree string="Project Collaborators" create="0">\n                <field name="partner_id" options="{'no_create': True}"/>\n                <field name="partner_email"/>\n            </tree>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1188	16	\N	1	1	project.collaborator.view.search	project.collaborator	\N	search	project/views/project_collaborator_views.xml	\N	primary	{"en_US": "<search>\\n                <field name=\\"partner_id\\"/>\\n                <field name=\\"project_id\\"/>\\n                <group expand=\\"0\\" string=\\"Group By\\">\\n                    <filter name=\\"project\\" string=\\"Project\\" context=\\"{'group_by': 'project_id'}\\"/>\\n                    <filter name=\\"collaborator\\" string=\\"Collaborator\\" context=\\"{'group_by': 'partner_id'}\\"/>\\n                </group>\\n            </search>", "vi_VN": "<search>\\n                <field name=\\"partner_id\\"/>\\n                <field name=\\"project_id\\"/>\\n                <group expand=\\"0\\" string=\\"Nhóm theo\\">\\n                    <filter name=\\"project\\" string=\\"Dự án\\" context=\\"{'group_by': 'project_id'}\\"/>\\n                    <filter name=\\"collaborator\\" string=\\"Cộng tác viên\\" context=\\"{'group_by': 'partner_id'}\\"/>\\n                </group>\\n            </search>"}	<?xml version="1.0"?>\n<search>\n                <field name="partner_id"/>\n                <field name="project_id"/>\n                <group expand="0" string="Group By">\n                    <filter name="project" string="Project" context="{'group_by': 'project_id'}"/>\n                    <filter name="collaborator" string="Collaborator" context="{'group_by': 'partner_id'}"/>\n                </group>\n            </search>\n        	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
1190	16	1189	1	1	project.task.search.form.extended	project.task	\N	search	project/views/project_views.xml	\N	primary	{"en_US": "<data><xpath expr=\\"//field[@name='user_ids']\\" position=\\"after\\">\\n                    <field string=\\"Project\\" name=\\"display_project_id\\"/>\\n                </xpath>\\n                <xpath expr=\\"//filter[@name='my_tasks']\\" position=\\"after\\">\\n                    <filter string=\\"My Private Tasks\\" name=\\"my_private_task\\" domain=\\"[('project_id', '=', False), ('user_ids', 'in', uid)]\\"/>\\n                </xpath>\\n                <xpath expr=\\"//filter[@name='unassigned']\\" position=\\"after\\">\\n                    <separator/>\\n                    <filter string=\\"My Projects\\" name=\\"my_projects\\" domain=\\"[('project_id.user_id', '=', uid)]\\"/>\\n                    <filter string=\\"My Favorite Projects\\" name=\\"my_favorite_projects\\" domain=\\"[('project_id.favorite_user_ids', 'in', [uid])]\\"/>\\n                </xpath>\\n                <xpath expr=\\"//filter[@name='user']\\" position=\\"after\\">\\n                    <filter string=\\"Project\\" name=\\"project\\" context=\\"{'group_by': 'project_id'}\\"/>\\n                </xpath>\\n            </data>", "vi_VN": "<data><xpath expr=\\"//field[@name='user_ids']\\" position=\\"after\\">\\n                    <field string=\\"Dự án\\" name=\\"display_project_id\\"/>\\n                </xpath>\\n                <xpath expr=\\"//filter[@name='my_tasks']\\" position=\\"after\\">\\n                    <filter string=\\"My Private Tasks\\" name=\\"my_private_task\\" domain=\\"[('project_id', '=', False), ('user_ids', 'in', uid)]\\"/>\\n                </xpath>\\n                <xpath expr=\\"//filter[@name='unassigned']\\" position=\\"after\\">\\n                    <separator/>\\n                    <filter string=\\"Dự án của tôi\\" name=\\"my_projects\\" domain=\\"[('project_id.user_id', '=', uid)]\\"/>\\n                    <filter string=\\"Dự án yêu thích\\" name=\\"my_favorite_projects\\" domain=\\"[('project_id.favorite_user_ids', 'in', [uid])]\\"/>\\n                </xpath>\\n                <xpath expr=\\"//filter[@name='user']\\" position=\\"after\\">\\n                    <filter string=\\"Dự án\\" name=\\"project\\" context=\\"{'group_by': 'project_id'}\\"/>\\n                </xpath>\\n            </data>"}	<?xml version="1.0"?>\n<data><xpath expr="//field[@name='user_ids']" position="after">\n                    <field string="Project" name="display_project_id"/>\n                </xpath>\n                <xpath expr="//filter[@name='my_tasks']" position="after">\n                    <filter string="My Private Tasks" name="my_private_task" domain="[('project_id', '=', False), ('user_ids', 'in', uid)]"/>\n                </xpath>\n                <xpath expr="//filter[@name='unassigned']" position="after">\n                    <separator/>\n                    <filter string="My Projects" name="my_projects" domain="[('project_id.user_id', '=', uid)]"/>\n                    <filter string="My Favorite Projects" name="my_favorite_projects" domain="[('project_id.favorite_user_ids', 'in', [uid])]"/>\n                </xpath>\n                <xpath expr="//filter[@name='user']" position="after">\n                    <filter string="Project" name="project" context="{'group_by': 'project_id'}"/>\n                </xpath>\n            </data>	f	t	2025-06-18 15:59:10.560412	2025-06-18 15:59:10.560412	f	\N	\N	\N	\N	\N	\N	\N	\N	\N	\N
