1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/sale_renting/data/rental_demo.xml
2024-12-10 09:04:09 +07:00

188 lines
9.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<odoo noupdate="1">
<record id="cat_renting" model="product.category">
<field name="parent_id" ref="product.product_category_all"/>
<field name="name">Rental</field>
</record>
<!-- Rentable products -->
<record id="rental_product_1" model="product.product">
<field name="name">Projector</field>
<field name="categ_id" ref="sale_renting.cat_renting"/>
<field name="type">consu</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="uom_po_id" ref="uom.product_uom_unit"/>
<field name="default_code">RENT001</field>
<field name="image_1920" type="base64" file="sale_renting/static/img/projector.jpg"/>
<field name="rent_ok" eval="True"/>
<field name="extra_hourly" eval="7.00"/>
<field name="extra_daily" eval="30.00"/>
</record>
<record id="rental_product_2" model="product.product">
<field name="name">Meeting Room</field>
<field name="categ_id" ref="sale_renting.cat_renting"/>
<field name="type">service</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="uom_po_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="sale_renting/static/img/meeting_room.jpeg"/>
<field name="rent_ok" eval="True"/>
<field name="extra_hourly" eval="20.0"/>
<field name="extra_daily" eval="200.0"/>
</record>
<!-- Rental pricings -->
<record id="rental_pricing_1" model="product.pricing">
<field name="recurrence_id" ref="sale_renting.recurrence_3_hours"/>
<field name="price" eval="5.00"/>
<field name="currency_id" ref="base.USD"/>
</record>
<record id="rental_pricing_2" model="product.pricing">
<field name="recurrence_id" ref="recurrence_weekly"/>
<field name="price" eval="25"/>
<field name="currency_id" ref="base.USD"/>
</record>
<record id="rental_pricing_3" model="product.pricing">
<field name="recurrence_id" ref="sale_renting.recurrence_3_hours"/>
<field name="price" eval="150.00"/>
<field name="currency_id" ref="base.USD"/>
</record>
<record id="rental_pricing_4" model="product.pricing">
<field name="recurrence_id" ref="recurrence_weekly"/>
<field name="price" eval="900.00"/> <!-- One day of reduction -->
<field name="currency_id" ref="base.USD"/>
</record>
<record id="rental_pricing_5" model="product.pricing">
<field name="recurrence_id" ref="sale_renting.recurrence_2_weeks"/>
<field name="price" eval="1750"/> <!-- 3 days of reduction -->
<field name="currency_id" ref="base.USD"/>
</record>
<record id="rental_product_1" model="product.product"> <!-- Projector -->
<field name="product_pricing_ids" eval="[(6,0,[ref('rental_pricing_1'), ref('rental_pricing_2')])]"/>
</record>
<record id="rental_product_2" model="product.product"> <!-- Meeting Room -->
<field name="product_pricing_ids" eval="[(6,0,[ref('rental_pricing_3'), ref('rental_pricing_4'), ref('rental_pricing_5')])]"/>
</record>
<!-- Rental Sale orders -->
<!-- Draft SO -->
<record id="rental_order_1" model="sale.order">
<field name="partner_id" ref="base.res_partner_2"/>
<field name="partner_invoice_id" ref="base.res_partner_2"/>
<field name="partner_shipping_id" ref="base.res_partner_2"/>
<field name="user_id" ref="base.user_demo"/>
<field name="team_id" ref="sales_team.team_sales_department"/>
<field name="date_order" eval="DateTime.today() - relativedelta(months=3)"/>
<field name="rental_start_date" eval="DateTime.today()"/>
<field name="rental_return_date" eval="DateTime.today() + relativedelta(days=3)"/>
</record>
<record id="rental_order_line_1" model="sale.order.line">
<field name="order_id" ref="rental_order_1"/>
<field name="product_id" ref="rental_product_2"/>
<field name="product_uom_qty">3</field>
<field name="product_uom" ref="uom.product_uom_unit"/>
<field name="name" eval="'[RENT002] Meeting Room'"/>
<field name="price_unit" eval="450.0"/>
</record>
<record id="rental_order_line_1" model="sale.order.line"> <!-- After creation to avoid the compute and force the value -->
<field name="is_rental" eval="True"/>
</record>
<record id="rental_order_line_2" model="sale.order.line">
<field name="order_id" ref="rental_order_1"/>
<field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_02').get_product_multiline_description_sale()"/>
<field name="product_id" ref="product.product_delivery_02"/>
<field name="product_uom_qty">5</field>
<field name="product_uom" ref="uom.product_uom_unit"/>
<field name="price_unit">145.00</field>
</record>
<!-- Confirmed SO : reserved products -->
<record id="rental_order_2" model="sale.order"> <!-- NOTE: CONFIRMED RENTAL ORDER WITH LATE RETURN-->
<field name="partner_id" ref="base.res_partner_2"/>
<field name="partner_invoice_id" ref="base.res_partner_2"/>
<field name="partner_shipping_id" ref="base.res_partner_2"/>
<field name="user_id" ref="base.user_admin"/>
<field name="team_id" ref="sales_team.team_sales_department"/>
<field name="date_order" eval="DateTime.today() - relativedelta(months=3)"/>
<field name="rental_start_date" eval="DateTime.today() - relativedelta(days=5)"/>
<field name="rental_return_date" eval="DateTime.today() - relativedelta(days=1)"/>
<field name="tag_ids" eval="[(4, ref('sales_team.categ_oppor3')), (4, ref('sales_team.categ_oppor7'))]"/>
</record>
<record id="rental_order_line_3" model="sale.order.line"> <!-- NOTE: partial pickup -->
<field name="order_id" ref="rental_order_2"/>
<field name="product_id" ref="rental_product_1"/>
<field name="product_uom_qty">3</field>
<field name="product_uom" ref="uom.product_uom_unit"/>
<field name="name" eval="'[RENT001] Projector'"/>
<field name="qty_delivered">2</field>
<field name="price_unit" eval="150.0"/>
</record>
<record id="rental_order_line_3" model="sale.order.line"> <!-- After creation to avoid the compute and force the value -->
<field name="is_rental" eval="True"/>
</record>
<record id="rental_order_line_4" model="sale.order.line">
<field name="order_id" ref="rental_order_2"/>
<field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_01').get_product_multiline_description_sale()"/>
<field name="product_id" ref="product.product_delivery_01"/>
<field name="product_uom_qty">2</field>
<field name="product_uom" ref="uom.product_uom_unit"/>
<field name="price_unit">65.00</field>
</record>
<record id="rental_order_3" model="sale.order"> <!-- NOTE: CONFIRMED RENTAL ORDER ALREADY PICKED-UP-->
<field name="partner_id" ref="base.res_partner_1"/>
<field name="partner_invoice_id" ref="base.res_partner_1"/>
<field name="partner_shipping_id" ref="base.res_partner_1"/>
<field name="user_id" ref="base.user_admin"/>
<field name="team_id" ref="sales_team.team_sales_department"/>
<field name="date_order" eval="DateTime.today() - relativedelta(months=2)"/>
<field name="rental_start_date" eval="DateTime.today() - relativedelta(days=5)"/>
<field name="rental_return_date" eval="DateTime.today() + relativedelta(days=5)"/>
<field name="tag_ids" eval="[(4, ref('sales_team.categ_oppor3')), (4, ref('sales_team.categ_oppor7'))]"/>
</record>
<record id="rental_order_line_5" model="sale.order.line">
<field name="order_id" ref="rental_order_3"/>
<field name="product_id" ref="rental_product_1"/>
<field name="product_uom_qty">2</field>
<field name="product_uom" ref="uom.product_uom_unit"/>
<field name="name" eval="'[RENT001] Projector'"/>
<field name="qty_delivered">2</field>
<field name="price_unit" eval="100.0"/>
</record>
<record id="rental_order_line_5" model="sale.order.line"> <!-- After creation to avoid the compute and force the value -->
<field name="is_rental" eval="True"/>
</record>
<record id="rental_order_activity_1" model="mail.activity">
<field name="res_id" ref="sale_renting.rental_order_2"/>
<field name="res_model_id" ref="sale_renting.model_sale_order"/>
<field name="activity_type_id" ref="sale.mail_act_sale_upsell"/>
<field name="date_deadline" eval="DateTime.today().strftime('%Y-%m-%d %H:%M')"/>
<field name="summary">Follow-up on upsell</field>
<field name="create_uid" ref="base.user_admin"/>
<field name="user_id" ref="base.user_admin"/>
</record>
<!-- Confirm rental order -->
<function model="sale.order" name="action_confirm" eval="[[ref('rental_order_2'), ref('rental_order_3')]]" context="{'action_no_send_mail': True}"/>
</odoo>