Skip to content

Commit

Permalink
[ADD] car_rental: base automation and server actions
Browse files Browse the repository at this point in the history
  • Loading branch information
dhrs-odoo committed Dec 8, 2023
1 parent 8db3006 commit 211067e
Show file tree
Hide file tree
Showing 2 changed files with 127 additions and 2 deletions.
40 changes: 39 additions & 1 deletion car_rental/data/base_automation.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,46 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="create_the_product" model="base.automation">
<field name="name">Create Product - Server Actions</field>
<field name="name">Create Product</field>
<field name="model_id" ref="fleet.model_fleet_vehicle"/>
<field name="trigger">on_create</field>
</record>
<record id="update_the_hours" model="base.automation">
<field name="name">Update the Hours</field>
<field name="model_id" ref="account.model_account_analytic_line"/>
<field name="trigger">on_create</field>
</record>
<record id="update_stage_when_in_service" model="base.automation">
<field name="name">Update Stage When In Service</field>
<field name="model_id" ref="fleet.model_fleet_vehicle_log_services"/>
<field name="trigger">on_create_or_write</field>
<field name="filter_domain">["|", ("state", "=", "new"), ("state", "=", "running")]</field>
</record>
<record id="update_stage_when_service_done" model="base.automation">
<field name="name">Update Stage When Service Is Done</field>
<field name="model_id" ref="fleet.model_fleet_vehicle_log_services"/>
<field name="trigger">on_write</field>
<field name="filter_domain">["|", ("state", "=", "done"), ("state", "=", "cancelled")]</field>
</record>
<record id="update_status_when_returned" model="base.automation">
<field name="name">Update Car Status When Returned</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="trigger">on_write</field>
<field name="filter_pre_domain">[("x_studio_rental_status", "=", "return")]</field>
<field name="filter_domain">[("x_studio_rental_status", "=", "returned")]</field>
</record>
<record id="update_stage_when_pickedup" model="base.automation">
<field name="name">Update Stage When Picked Up</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="trigger">on_write</field>
<field name="filter_pre_domain">[("x_studio_rental_status", "=", "pickup")]</field>
<field name="filter_domain">[("x_studio_rental_status", "=", "return")]</field>
</record>
<record id="update_status_when_booked" model="base.automation">
<field name="name">Update Car Status When Booked</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="trigger">on_create_or_write</field>
<field name="filter_pre_domain">["|", ("state", "=", "draft"), ("state", "=", "sent")]</field>
<field name="filter_domain">[("state", "=", "sale")]</field>
</record>
</odoo>
89 changes: 88 additions & 1 deletion car_rental/data/ir_actions_server.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,100 @@
<field name="state">code</field>
<field name="base_automation_id" ref="create_the_product"/>
<field name="code">
product = env['product.template'].create({
'name': record.display_name,
'detailed_type': 'product',
'rent_ok': True
})
record.write({'x_product_name_fleet': [[6,0, product.ids]]})
</field>
</record>
<record id="update_hours" model="ir.actions.server">
<field name="name">Update the Hours - Server Actions</field>
<field name="model_id" ref="account.model_account_analytic_line"/>
<field name="state">code</field>
<field name="base_automation_id" ref="update_the_hours"/>
<field name="code">
<![CDATA[
record.write({
'unit_amount': record.x_studio_total_km
})
]]>
</field>
</record>
<record id="update_stage_in_service" model="ir.actions.server">
<field name="name">Update Stage When In Service - Server Actions</field>
<field name="model_id" ref="fleet.model_fleet_vehicle_log_services"/>
<field name="state">code</field>
<field name="base_automation_id" ref="update_stage_when_in_service"/>
<!-- <field name="code">
<![CDATA[
record.write({
'product_type': 'product',
'name' : record.display_name,
'rent_ok' : True,
})
]]>
</field>
</field> -->
</record>
<record id="update_stage_service_done" model="ir.actions.server">
<field name="name">Update Stage When Service Is Done - Server Actions</field>
<field name="model_id" ref="fleet.model_fleet_vehicle_log_services"/>
<field name="state">code</field>
<field name="base_automation_id" ref="update_stage_when_service_done"/>
<!-- <field name="code">
<![CDATA[
record.write({
'product_type': 'product',
'name' : record.display_name,
'rent_ok' : True,
})
]]>
</field> -->
</record>
<record id="update_when_returned" model="ir.actions.server">
<field name="name">Update Car Status When Returned - Server Actions</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="state">code</field>
<field name="base_automation_id" ref="update_status_when_returned"/>
<!-- <field name="code">
<![CDATA[
record.write({
'product_type': 'product',
'name' : record.display_name,
'rent_ok' : True,
})
]]>
</field> -->
</record>
<record id="update_when_pickedup" model="ir.actions.server">
<field name="name">Update Stage When Picked Up - Server Actions</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="state">code</field>
<field name="base_automation_id" ref="update_stage_when_pickedup"/>
<!-- <field name="code">
<![CDATA[
record.write({
'product_type': 'product',
'name' : record.display_name,
'rent_ok' : True,
})
]]>
</field> -->
</record>
<record id="update_when_booked" model="ir.actions.server">
<field name="name">Update Car Status When Booked - Server Actions</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="state">code</field>
<field name="base_automation_id" ref="update_status_when_booked"/>
<!-- <field name="code">
<![CDATA[
record.write({
'product_type': 'product',
'name' : record.display_name,
'rent_ok' : True,
})
]]>
</field> -->
</record>
</odoo>

0 comments on commit 211067e

Please sign in to comment.