summaryrefslogtreecommitdiff
path: root/addons/website_sale_delivery/views
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/website_sale_delivery/views
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/website_sale_delivery/views')
-rw-r--r--addons/website_sale_delivery/views/res_config_settings_views.xml52
-rw-r--r--addons/website_sale_delivery/views/website_sale_delivery_templates.xml83
-rw-r--r--addons/website_sale_delivery/views/website_sale_delivery_views.xml54
3 files changed, 189 insertions, 0 deletions
diff --git a/addons/website_sale_delivery/views/res_config_settings_views.xml b/addons/website_sale_delivery/views/res_config_settings_views.xml
new file mode 100644
index 00000000..97a52156
--- /dev/null
+++ b/addons/website_sale_delivery/views/res_config_settings_views.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="res_config_settings_view_form" model="ir.ui.view">
+ <field name="name">res.config.settings.view.form.inherit.website.sale.delivery</field>
+ <field name="model">res.config.settings</field>
+ <field name="inherit_id" ref="website_sale.res_config_settings_view_form"/>
+ <field name="arch" type="xml">
+ <div id="msg_delivery_method_setting" position="after">
+ <div class="content-group" attrs="{'invisible': [('module_website_sale_delivery', '=', False)]}">
+ <div class="mt16">
+ <button type="action" name="%(delivery.action_delivery_carrier_form)d" string="Shipping Methods" class="btn-link" icon="fa-arrow-right"/>
+ </div>
+ </div>
+ </div>
+ <div id="website_delivery_dhl" position="after">
+ <div class="content-group">
+ <div class="mt8" attrs="{'invisible': [('module_delivery_dhl', '=', False)]}">
+ <button name="%(delivery.action_delivery_carrier_form)d" icon="fa-arrow-right" type="action" string="DHL Shipping Methods" class="btn-link" context="{'search_default_delivery_type': 'dhl'}"/>
+ </div>
+ </div>
+ </div>
+ <div id="website_delivery_fedex" position="after">
+ <div class="content-group">
+ <div class="mt8" attrs="{'invisible': [('module_delivery_fedex', '=', False)]}">
+ <button name="%(delivery.action_delivery_carrier_form)d" icon="fa-arrow-right" type="action" string="FedEx Shipping Methods" class="btn-link" context="{'search_default_delivery_type': 'fedex'}"/>
+ </div>
+ </div>
+ </div>
+ <div id="website_delivery_usps" position="after">
+ <div class="content-group">
+ <div class="mt8" attrs="{'invisible': [('module_delivery_usps', '=', False)]}">
+ <button name="%(delivery.action_delivery_carrier_form)d" icon="fa-arrow-right" type="action" string="USPS Shipping Methods" class="btn-link" context="{'search_default_delivery_type': 'usps'}"/>
+ </div>
+ </div>
+ </div>
+ <div id="website_delivery_bpost" position="after">
+ <div class="content-group">
+ <div class="mt8" attrs="{'invisible': [('module_delivery_bpost', '=', False)]}">
+ <button name="%(delivery.action_delivery_carrier_form)d" icon="fa-arrow-right" type="action" string="bpost Shipping Methods" class="btn-link" context="{'search_default_delivery_type': 'bpost'}"/>
+ </div>
+ </div>
+ </div>
+ <div id="website_delivery_easypost" position="after">
+ <div class="content-group">
+ <div class="mt8" attrs="{'invisible': [('module_delivery_easypost', '=', False)]}">
+ <button name="%(delivery.action_delivery_carrier_form)d" icon="fa-arrow-right" type="action" string="Easypost Shipping Methods" class="btn-link" context="{'search_default_delivery_type': 'easypost'}"/>
+ </div>
+ </div>
+ </div>
+ </field>
+ </record>
+</odoo>
diff --git a/addons/website_sale_delivery/views/website_sale_delivery_templates.xml b/addons/website_sale_delivery/views/website_sale_delivery_templates.xml
new file mode 100644
index 00000000..42abbc7b
--- /dev/null
+++ b/addons/website_sale_delivery/views/website_sale_delivery_templates.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <template id="cart_delivery" name="Delivery Costs" inherit_id="website_sale.total">
+ <xpath expr="//tr[@id='order_total_untaxed']" position="before">
+ <tr id="order_delivery" t-if="website_sale_order and website_sale_order.carrier_id">
+ <td class="text-right border-0 text-muted" title="Delivery will be updated after choosing a new delivery method">Delivery:</td>
+ <td class="text-xl-right border-0 text-muted" >
+ <span t-field="website_sale_order.amount_delivery" class="monetary_field" style="white-space: nowrap;" t-options='{
+ "widget": "monetary",
+ "display_currency": website_sale_order.currency_id,
+ }'/>
+ </td>
+ </tr>
+ </xpath>
+ </template>
+
+ <template id="assets_frontend" inherit_id="website.assets_frontend" name="Shop">
+ <xpath expr="." position="inside">
+ <script type="text/javascript" src="/website_sale_delivery/static/src/js/website_sale_delivery.js"></script>
+ <link rel="stylesheet" type="text/scss" href="/website_sale_delivery/static/src/scss/website_sale_delivery.scss"/>
+ </xpath>
+ </template>
+
+ <template id="assets_tests" name="Website Sale Delivery Assets Tests" inherit_id="web.assets_tests">
+ <xpath expr="." position="inside">
+ <script type="text/javascript" src="/website_sale_delivery/static/tests/tours/website_free_delivery.js"></script>
+ </xpath>
+ </template>
+
+ <template id="payment_delivery_methods">
+ <input t-att-value="delivery.id" t-att-id="'delivery_%i' % delivery.id" type="radio" name="delivery_type" t-att-checked="order.carrier_id and order.carrier_id.id == delivery.id and 'checked' or False" t-att-class="'d-none' if delivery_nb == 1 else ''"/>
+ <label class="label-optional" t-field="delivery.name"/>
+ <t t-set='badge_class' t-value="(delivery_nb != 1 and 'float-right ' or '') + 'badge badge-secondary'" />
+ <t t-if="delivery.delivery_type == 'fixed'">
+ <span t-if="delivery.fixed_price > 0.0" t-att-class="badge_class">
+ <t t-esc="delivery.rate_shipment(website_sale_order)['price'] if delivery.free_over else delivery.fixed_price"
+ t-options='{"widget": "monetary",
+ "from_currency": website_sale_order.currency_id if delivery.free_over else delivery.product_id.company_id.currency_id or website_sale_order.company_id.currency_id,
+ "display_currency": website_sale_order.currency_id}'/>
+ </span>
+ <span t-else="" t-att-class="badge_class">Free</span>
+ </t>
+ <t t-else="">
+ <span t-attf-class="#{badge_class} o_wsale_delivery_badge_price">Select to compute delivery rate</span>
+ </t>
+ <t t-if="delivery.website_description">
+ <div t-field="delivery.website_description" class="text-muted mt8"/>
+ </t>
+ </template>
+
+ <template id="payment_delivery" name="Delivery Costs" inherit_id="website_sale.payment">
+ <xpath expr="//div[@id='shipping_and_billing']" position="inside">
+ <t t-set="delivery_nb" t-value="deliveries and len(deliveries)"/>
+ <div t-if="delivery_nb == 1" id="delivery_carrier" class="mt4">
+ <b>Shipping Method: </b>
+ <t t-foreach="deliveries" t-as="delivery">
+ <t t-call="website_sale_delivery.payment_delivery_methods"/>
+ </t>
+ </div>
+ </xpath>
+ <xpath expr="//div[@id='payment_method']" position="before">
+ <div t-if="deliveries" id="delivery_carrier">
+ <t t-set="delivery_nb" t-value="len(deliveries)"/>
+ <h3 t-if="delivery_nb &gt; 1" class="mb24">Choose a delivery method</h3>
+ <div t-if="delivery_nb &gt; 1" class="card border-0" id="delivery_method">
+ <ul class="list-group">
+ <t t-foreach="deliveries" t-as="delivery">
+ <li class="list-group-item o_delivery_carrier_select">
+ <t t-call="website_sale_delivery.payment_delivery_methods"/>
+ </li>
+ </t>
+ </ul>
+ </div>
+ </div>
+ </xpath>
+ <!-- we shouldn't be able to pay if there is no way to deliver -->
+ <xpath expr="//div[@id='payment_method']" position="attributes">
+ <attribute name="t-att-style">'display: none!important' if not deliveries and delivery_has_storable else ''</attribute>
+ </xpath>
+ </template>
+
+</odoo>
diff --git a/addons/website_sale_delivery/views/website_sale_delivery_views.xml b/addons/website_sale_delivery/views/website_sale_delivery_views.xml
new file mode 100644
index 00000000..2699876f
--- /dev/null
+++ b/addons/website_sale_delivery/views/website_sale_delivery_views.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <record id="view_delivery_carrier_form_website_delivery" model="ir.ui.view">
+ <field name="name">delivery.carrier.website.form</field>
+ <field name="model">delivery.carrier</field>
+ <field name="inherit_id" ref="delivery.view_delivery_carrier_form"/>
+ <field name="arch" type="xml">
+ <field name="company_id" position='after'>
+ <field name="website_id" groups="website.group_multi_website" options="{'no_open': True, 'no_create_edit': True}"/>
+ </field>
+ <xpath expr="//page[@name='destination']" position='after'>
+ <page string="Description" name="description">
+ <field name="website_description" placeholder="Description displayed on the eCommerce and on online quotations."/>
+ </page>
+ </xpath>
+ <xpath expr="//button[@name='toggle_prod_environment']" position='before'>
+ <button name="website_publish_button" type="object" class="oe_stat_button" icon="fa-globe">
+ <field name="is_published" widget="website_publish_button"/>
+ </button>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="view_delivery_carrier_tree_inherit_website_sale_delivery" model="ir.ui.view">
+ <field name="name">delivery.carrier.tree.inherit</field>
+ <field name="model">delivery.carrier</field>
+ <field name="inherit_id" ref="delivery.view_delivery_carrier_tree"/>
+ <field name="arch" type="xml">
+ <field name="delivery_type" position="after">
+ <field name="is_published"/>
+ <field name="website_id" groups="website.group_multi_website"/>
+ </field>
+ </field>
+ </record>
+
+ <record id="view_delivery_carrier_search_inherit_website_sale_delivery" model="ir.ui.view">
+ <field name="name">delivery.carrier.search.inherit</field>
+ <field name="model">delivery.carrier</field>
+ <field name="inherit_id" ref="delivery.view_delivery_carrier_search"/>
+ <field name="arch" type="xml">
+ <filter name="inactive" position="after">
+ <filter string="Published" name="is_published" domain="[('is_published','=',True)]"/>
+ </filter>
+ </field>
+ </record>
+
+ <menuitem
+ id="menu_ecommerce_delivery"
+ parent="website_sale.menu_ecommerce_settings"
+ name="Shipping Methods"
+ action="delivery.action_delivery_carrier_form"/>
+
+</odoo>