Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ADD]car_rental: car rental #36

Open
wants to merge 43 commits into
base: 17.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
efe5d54
[ADD] car_rental: Industry Car Rental
dhrs-odoo Oct 29, 2023
683ad0a
[ADD] car_rental: add suggested changes
dhrs-odoo Nov 22, 2023
c884ec0
[ADD] car_rental: Fixup
dhrs-odoo Dec 1, 2023
41bb647
[ADD] car_rental: removed the module name from records and refs
dhrs-odoo Dec 1, 2023
775e5ed
[ADD] car_rental: improve the xpath
dhrs-odoo Dec 4, 2023
3fa26da
[ADD] car_rental: remove unnecessary dependency and fields
dhrs-odoo Dec 4, 2023
a352a6c
[ADD] car_rental: added pics to website
dhrs-odoo Dec 4, 2023
c557eb2
[ADD] car_rental: removed unwanted pictures and their corresponding r…
dhrs-odoo Dec 4, 2023
b6cc2ce
[ADD] car_rental: base automation and server actions
dhrs-odoo Dec 7, 2023
c5d7be3
[ADD] car_rental: second review suggested changes
dhrs-odoo Dec 20, 2023
2282e9f
[ADD] car_rental: base automation and server actions updated
dhrs-odoo Jan 4, 2024
e01b648
[ADD] car_rental: server actions
dhrs-odoo Jan 16, 2024
324e379
[ADD] car_rental: server actions
dhrs-odoo Jan 16, 2024
83a1f6f
[ADD] car_rental: [WIP] server_actions
dhrs-odoo Jan 18, 2024
a1a63fc
[ADD] car_rental: completed server actions
dhrs-odoo Mar 8, 2024
614c137
[ADD] car_rental: completed server actions
dhrs-odoo Mar 8, 2024
21a31ee
[ADD] car_rental: adapted new changes
dhrs-odoo Mar 8, 2024
ca77ab6
[ADD] car_rental: adapted new changes
dhrs-odoo Mar 8, 2024
0f5b37a
[ADD] car_rental: remove the x_security
dhrs-odoo Mar 18, 2024
2014857
[ADD] car_rental: made the unit_amount field invisible
dhrs-odoo Mar 18, 2024
65ecd3e
[ADD] car_rental: delivered quantity calculation
dhrs-odoo Mar 18, 2024
fd9acb6
[ADD] car_rental: common changes
dhrs-odoo Mar 19, 2024
0a99ab6
[ADD] car_rental: common changes
dhrs-odoo Mar 19, 2024
b936974
[ADD] car_rental: common changes
dhrs-odoo Mar 19, 2024
55d9687
[ADD] car_rental: fixed the create invoice issue
dhrs-odoo Mar 20, 2024
46e4522
[ADD] car_rental: functional changes
dhrs-odoo Mar 26, 2024
824965d
[ADD] car_rental: payment provider demo and made all the product rent…
dhrs-odoo Mar 26, 2024
1e63f8b
[ADD] car_rental: added images and converted the webp image to jpg fo…
dhrs-odoo Mar 27, 2024
605d5ed
[ADD] car_rental: added fleet model file
dhrs-odoo Mar 27, 2024
4acb18e
[ADD] car_rental: test commit
dhrs-odoo Mar 29, 2024
aae0867
[ADD] car_rental: test commit 1
dhrs-odoo Mar 29, 2024
66040fd
[ADD] car_rental: sale order line test
dhrs-odoo Apr 1, 2024
389ec13
[ADD] car_rental: sale order line test1
dhrs-odoo Apr 1, 2024
95b97b8
[ADD] car_rental: new commit test
dhrs-odoo Apr 1, 2024
167e626
[ADD] car_rental: completed the product work without showing double p…
dhrs-odoo Apr 1, 2024
f341caa
[ADD] car_rental: completed the product work without showing double p…
dhrs-odoo Apr 1, 2024
c050c63
[ADD] car_rental: completed the product work without showing double p…
dhrs-odoo Apr 1, 2024
4001042
[ADD] car_rental: product pricing
dhrs-odoo Apr 2, 2024
a4eb226
[ADD] car_rental: product pricing
dhrs-odoo Apr 2, 2024
d0d5ed2
[ADD] car_rental: product pricing
dhrs-odoo Apr 2, 2024
102d3ea
[ADD] car_rental: product pricing
dhrs-odoo Apr 2, 2024
4cc7b44
car_rental: solved the car image issue which is not showing in the pr…
dhrs-odoo Apr 4, 2024
58ddf6d
[ADD] car_rental: review suggestions
dhrs-odoo Apr 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
68 changes: 68 additions & 0 deletions car_rental/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{
'name': 'Car Rental',
'version': '1.0',
'category': 'Services',
'description': """
This module is for those who are seeking to rent a car for short or long-distance travel. It also provides tailored car rental services based on the customer's specific requirements.
""",
'depends': [
'account_followup',
'base_automation',
'crm_enterprise',
'fleet',
'knowledge',
'purchase_stock',
'sale_purchase',
'sale_renting_crm',
'sale_stock_renting',
'sale_timesheet',
'timesheet_grid',
'payment_demo',
'website_crm',
'website_sale_stock',
],
'data': [
'data/base_automation.xml',
'data/ir_model_fields.xml',
'data/ir_actions_server.xml',
'data/ir_ui_view.xml',
'data/ir_attachment_pre.xml',
'data/project_task_type.xml',
'data/product_category.xml',
'data/account_analytic_plan.xml',
'data/account_analytic_account.xml',
'data/project_project.xml',
'data/uom_uom.xml',
'data/product_product.xml',
'data/res_config_settings.xml',
'data/knowledge_cover.xml',
'data/knowledge_article.xml',
'data/payment_provider_demo.xml',
'data/ir_attachment_post.xml',
],
'demo': [
'demo/fleet_vehicle_state.xml',
'demo/fleet_vehicle_model.xml',
'demo/fleet_vehicle.xml',
'demo/website.xml',
'demo/res_partner.xml',
'demo/crm_team.xml',
'demo/crm_lead.xml',
'demo/product_pricing.xml',
'demo/product_supplierinfo.xml',
'demo/purchase_order.xml',
'demo/purchase_order_line.xml',
'demo/purchase_order_confirm.xml',
'demo/sale_order.xml',
'demo/sale_order_line.xml',
'demo/sale_order_post.xml',
'demo/purchase_order_line_post.xml',
'demo/website_ir_attachment.xml',
'demo/payment_provider_demo.xml',
'demo/website_view.xml',
'demo/website_theme_apply.xml',
],
'license': 'OPL-1',
dhrs-odoo marked this conversation as resolved.
Show resolved Hide resolved
'images': ['images/main.png'],
'maintenance_loc': 20,
}
19 changes: 19 additions & 0 deletions car_rental/data/account_analytic_account.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo noupdate="1">
<record id="account_analytic_account_1" model="account.analytic.account">
<field name="name">Internal</field>
<field name="plan_id" ref="account_analytic_plan_1"/>
</record>
<record id="account_analytic_account_2" model="account.analytic.account">
<field name="name">Airport Pickup and Drop</field>
<field name="plan_id" ref="account_analytic_plan_1"/>
</record>
<record id="account_analytic_account_3" model="account.analytic.account">
<field name="name">Door to door pickup</field>
<field name="plan_id" ref="account_analytic_plan_1"/>
</record>
<record id="account_analytic_account_4" model="account.analytic.account">
<field name="name">Monthly Rental</field>
<field name="plan_id" ref="account_analytic_plan_1"/>
</record>
</odoo>
6 changes: 6 additions & 0 deletions car_rental/data/account_analytic_plan.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo noupdate="1">
<record id="account_analytic_plan_1" model="account.analytic.plan">
<field name="name">Default</field>
</record>
</odoo>
48 changes: 48 additions & 0 deletions car_rental/data/base_automation.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="base_automation_create_product" model="base.automation">
<field name="name">Create Product</field>
<field name="model_id" ref="fleet.model_fleet_vehicle"/>
<field name="trigger">on_create_or_write</field>
<field name="filter_domain">[("x_product_name_fleet", "=", False)]</field>
</record>
<record id="base_automation_when_car_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="filter_domain">[("state", "=", "sale")]</field>
<field name="filter_pre_domain">["|", ("state", "=", "draft"), ("state", "=", "sent")]</field>
<field name="trigger">on_create_or_write</field>
<field name="trigger_field_ids" eval="[(6, 0, [ref('sale.field_sale_order_line__state')])]"/>
</record>
<record id="base_automation_when_picked_up" model="base.automation">
<field name="name">Update Stage When Picked Up</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="filter_domain">[("x_rental_status", "=", "return")]</field>
<field name="filter_pre_domain">[("x_rental_status", "=", "pickup")]</field>
<field name="trigger">on_create_or_write</field>
</record>
<record id="base_automation_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="filter_domain">[("x_rental_status", "=", "returned")]</field>
<field name="filter_pre_domain">[("x_rental_status", "=", "return")]</field>
<field name="trigger">on_create_or_write</field>
</record>
<record id="base_automation_when_service_is_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="filter_domain">["|", ("state", "=", "done"), ("state", "=", "cancelled")]</field>
<field name="trigger">on_create_or_write</field>
</record>
<record id="base_automation_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="filter_domain">["|", ("state", "=", "new"), ("state", "=", "running")]</field>
<field name="trigger">on_create_or_write</field>
</record>
<record id="base_automation_update_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>
</odoo>
94 changes: 94 additions & 0 deletions car_rental/data/ir_actions_server.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="ir_act_create_the_product" model="ir.actions.server">
<field name="name">Create Product - Server Actions</field>
<field name="model_id" ref="fleet.model_fleet_vehicle"/>
<field name="base_automation_id" ref="base_automation_create_product"/>
<field name="crud_model_id" ref="product.model_product_template"/>
<field name="state">object_create</field>
<field name="value">creation of product</field>
<field name="link_field_id" ref="new_one2many_vehicle_product_fleet"/>
</record>
<record id="ir_act_update_the_product" model="ir.actions.server">
<field name="name">Update Product - Server Actions</field>
<field name="model_id" ref="fleet.model_fleet_vehicle"/>
<field name="base_automation_id" ref="base_automation_create_product"/>
<field name="crud_model_id" ref="product.model_product_template"/>
<field name="state">code</field>
<field name="code"><![CDATA[
record.x_product_name_fleet.write({
'name': record.display_name,
'detailed_type' : 'product',
'rent_ok': 1,
'sale_ok': 0,
'image_1920': record.x_car_image_upload
})
]]></field>
</record>
<record id="ir_act_update_the_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="base_automation_id" ref="base_automation_update_hours"/>
<field name="state">code</field>
<field name="code"><![CDATA[
record.write({
'unit_amount': record.x_total_km
})
]]></field>
</record>
<record id="ir_act_update_stage_when_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="base_automation_id" ref="base_automation_when_in_service"/>
<field name="state">code</field>
<field name="code"><![CDATA[
record.write({
'x_vehicle_status': env.ref('car_rental.fleet_vehicle_state_5').id
})
]]></field>
</record>
<record id="ir_act_update_stage_when_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="base_automation_id" ref="base_automation_when_service_is_done"/>
<field name="state">code</field>
<field name="code"><![CDATA[
record.write({
'x_vehicle_status': env.ref('fleet.fleet_vehicle_state_registered').id
})
]]></field>
</record>
<record id="ir_act_update_status_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="base_automation_id" ref="base_automation_when_returned"/>
<field name="state">code</field>
<field name="code"><![CDATA[
record.write({
'x_car_status': env.ref('fleet.fleet_vehicle_state_registered').id
})
]]></field>
</record>
<record id="ir_act_update_stage_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="base_automation_id" ref="base_automation_when_picked_up"/>
<field name="state">code</field>
<field name="code"><![CDATA[
record.write({
'x_car_status': env.ref('car_rental.fleet_vehicle_state_6').id
})
]]></field>
</record>
<record id="ir_act_update_status_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="base_automation_id" ref="base_automation_when_car_booked"/>
<field name="state">code</field>
<field name="code"><![CDATA[
record.write({
'x_car_status': env.ref('fleet.fleet_vehicle_state_downgraded').id
})
]]></field>
</record>
</odoo>
21 changes: 21 additions & 0 deletions car_rental/data/ir_attachment_post.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo noupdate="1">
<record id="ir_attachment_687" model="ir.attachment">
<field name="name">Audi-A5-Sportback-120420212020.jpg</field>
<field name="datas" type="base64" file="car_rental/static/src/binary/ir_attachment/687-Audi-A5-Sportback-120420212020.jpg"/>
<field name="res_model">ir.ui.view</field>
<field name="website_id" ref="website.default_website"/>
</record>
<record id="ir_attachment_698" model="ir.attachment">
<field name="name">Audi-A5-Sportback-Interior-1-lg.webp</field>
<field name="datas" type="base64" file="car_rental/static/src/binary/ir_attachment/698-Audi-A5-Sportback-Interior-1-lg.webp"/>
<field name="res_model">ir.ui.view</field>
<field name="website_id" ref="website.default_website"/>
</record>
<record id="ir_attachment_706" model="ir.attachment">
<field name="name">Audi-A5-Sportback-Interior-3-lg.webp</field>
<field name="datas" type="base64" file="car_rental/static/src/binary/ir_attachment/706-Audi-A5-Sportback-Interior-3-lg.webp"/>
<field name="res_model">ir.ui.view</field>
<field name="website_id" ref="website.default_website"/>
</record>
</odoo>
7 changes: 7 additions & 0 deletions car_rental/data/ir_attachment_pre.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo noupdate="1">
<record id="ir_attachment_499" model="ir.attachment">
<field name="name">137981359.webp</field>
<field name="datas" type="base64" file="car_rental/static/src/binary/ir_attachment/499-137981359.webp"/>
</record>
</odoo>
103 changes: 103 additions & 0 deletions car_rental/data/ir_model_fields.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<?xml version='1.0' encoding='UTF-8'?>
<odoo>
<record id="new_decimal_analytic_in_odometer" model="ir.model.fields">
<field name="name">x_in_odometer</field>
<field name="model_id" ref="analytic.model_account_analytic_line"/>
<field name="field_description">In Odometer</field>
<field name="ttype">float</field>
</record>
<record id="new_decimal_analytic_out_odometer" model="ir.model.fields">
<field name="name">x_out_odometer</field>
<field name="model_id" ref="analytic.model_account_analytic_line"/>
<field name="field_description">Out Odometer</field>
<field name="ttype">float</field>
</record>
<record id="new_decimal_analytic_total_km" model="ir.model.fields">
<field name="name">x_total_km</field>
<field name="model_id" ref="analytic.model_account_analytic_line"/>
<field name="compute"><![CDATA[for record in self:
record['x_total_km'] = record.x_in_odometer - record.x_out_odometer]]></field>
<field name="depends">x_in_odometer,x_out_odometer</field>
<field name="field_description">Total KM</field>
<field name="ttype">float</field>
</record>
<record id="new_many2one_product_vehicle_no" model="ir.model.fields">
<field name="name">x_vehicle_no</field>
<field name="model_id" ref="product.model_product_template"/>
<field name="field_description">Vehicle No.</field>
<field name="relation">fleet.vehicle</field>
<field name="ttype">many2one</field>
</record>
<record id="new_many2one_purchas_task" model="ir.model.fields">
<field name="name">x_task</field>
<field name="model_id" ref="purchase.model_purchase_order_line"/>
<field name="field_description">Task</field>
<field name="relation">project.task</field>
<field name="ttype">many2one</field>
</record>
<record id="new_many2one_service_vehicle_status" model="ir.model.fields">
<field name="name">x_vehicle_status</field>
<field name="model_id" ref="fleet.model_fleet_vehicle_log_services"/>
<field name="field_description">Vehicle Status</field>
<field name="relation">fleet.vehicle.state</field>
<field name="ttype">many2one</field>
</record>
<record id="new_many2one_task_vendor" model="ir.model.fields">
<field name="name">x_vendor</field>
<field name="model_id" ref="project.model_project_task"/>
<field name="field_description">Vendor</field>
<field name="relation">res.partner</field>
<field name="ttype">many2one</field>
</record>
<record id="new_one2many_vehicle_product_fleet" model="ir.model.fields">
<field name="name">x_product_name_fleet</field>
<field name="model_id" ref="fleet.model_fleet_vehicle"/>
<field name="field_description">Product Name</field>
<field name="relation">product.template</field>
<field name="relation_field">x_vehicle_no</field>
<field name="ttype">one2many</field>
</record>
<record id="new_text_contact_licence_no" model="ir.model.fields">
<field name="name">x_licence_no</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="field_description">Licence No. </field>
<field name="ttype">char</field>
</record>
<record id="new_related_field_sa_licence_no" model="ir.model.fields">
<field name="name">x_licence_no</field>
<field name="model_id" ref="sale.model_sale_order"/>
<field name="field_description">Licence No.</field>
<field name="related">partner_id.x_licence_no</field>
<field name="ttype">char</field>
</record>
<record id="new_related_field_sa_rental_status" model="ir.model.fields">
<field name="name">x_rental_status</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="field_description">Rental Status</field>
<field name="related">order_id.rental_status</field>
<field name="selection">[('draft', 'Quotation'), ('sent', 'Quotation Sent'), ('pickup', 'Reserved'), ('return', 'Pickedup'), ('returned', 'Returned'), ('cancel', 'Cancelled')]</field>
<field name="ttype">selection</field>
</record>
<record id="new_related_field_sa_car" model="ir.model.fields">
<field name="name">x_car</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="field_description">Car</field>
<field name="related">product_id.x_vehicle_no</field>
<field name="relation">fleet.vehicle</field>
<field name="ttype">many2one</field>
</record>
<record id="new_related_field_sa_car_status" model="ir.model.fields">
<field name="name">x_car_status</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="field_description">Car Status</field>
<field name="related">x_car.state_id</field>
<field name="relation">fleet.vehicle.state</field>
<field name="ttype">many2one</field>
</record>
<record id="vehicle_image" model="ir.model.fields">
<field name="name">x_car_image_upload</field>
<field name="model_id" ref="fleet.model_fleet_vehicle"/>
<field name="field_description">Upload Car Image</field>
<field name="ttype">binary</field>
</record>
</odoo>