Repository
OCA/vertical-rental · module folder · Try on Runboat
Module version
1.0.0
Category
Rental
Folder size
0.21 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/vertical-rental
Last tracking update
2026-08-07 07:32:03
Authors
Odoo Community Association (OCA), elego Software Solutions GmbH
Maintainers
Odoo Community Association (OCA), elego Software Solutions GmbH
Committers
oca-travis, chandni299
Odoo dependencies
OCA/account-analytic:
OCA/account-closing:
OCA/sale-workflow:
OCA/vertical-rental:
OCA/web:
odoo/odoo:
- web
- bus
- uom
Python dependencies
None
System dependencies
None
Required by
None
Description

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend sale rental timeline assets ir.ui.view qweb Inherits web.assets_backend
product_timeline_form_view view.product.product.timeline.form product.product form Inherits product.product_normal_form_view
view_product_timeline_form product.timeline.form product.timeline form New
view_product_timeline_search product.timeline.search product.timeline search New
view_product_timeline_timeline product.timeline.timeline product.timeline rental_timeline New
view_product_timeline_tree product.timeline.tree product.timeline tree New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (7)

New fields (1)
  • view_mode Selection
    selection_add=[RENTAL_TIMELINE_VIEW]
Public methods (0)

No public methods.

New fields (1)
  • type Selection
    selection_add=[RENTAL_TIMELINE_VIEW]
Public methods (0)

No public methods.

New fields (1)
  • product_timeline_ids One2many → product.timeline
    comodel_name='product.timeline' inverse_name='product_id' string='Timeline Items'
Public methods (0)

No public methods.

New fields (30)
  • active Boolean
    compute='_compute_active' store=True
  • amount Char
    compute='_compute_fields' store=True string='Amount'
  • click_res_id Integer
    help='This is a technical field to define which exact Odoo object this timeline item opens, when double clicked.' require=True string='Clickable Object ID'
  • click_res_model Char
    help='This is a technical field to define which kind of Odoo object this timeline item opens, when double clicked.' require=True string='Clickable Data Model'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' compute='_compute_fields' store=True string='Currency'
  • date_end Datetime
    require=True string='Date End'
  • date_end_formated Char
    compute='_compute_required_fields' help='This field contains the end date as string without time to show it in rental timeline mouseover view.' store=True string='Date End (Formatted)'
  • date_start Datetime
    require=True string='Date Start'
  • date_start_formated Char
    compute='_compute_required_fields' help='This field contains the start date as string without time to show it in rental timeline mouseover view.' store=True string='Date Start (Formatted)'
  • has_clues Char
    compute='_compute_fields' store=True args: 'Has Clues'
  • name Char
    compute='_compute_fields' store=True string='Name'
  • number_of_days Integer
    compute='_compute_fields' store=True string='Total days'
  • order_name Char
    help='This field contains the order name as string to show it in rental timeline mouseover view.' require=True string='Order'
  • partner_id Many2one → res.partner
    comodel_name='res.partner' compute='_compute_fields' ondelete='set null' store=True string='Partner'
  • partner_shipping_address Char
    compute='_compute_fields' help='This field contains the shipping address as string to show it in rental timeline mouseover view.' store=True string='Shipping address'
  • partner_shipping_id Many2one → res.partner
    comodel_name='res.partner' compute='_compute_fields' ondelete='set null' store=True string='Shipping Partner'
  • price_subtotal Monetary
    compute='_compute_fields' currency_field='currency_id' field_digits=True store=True
  • product_categ_id Many2one
    related='product_id.categ_id' store=True string='Product Category'
  • product_categ_name Char
    compute='_compute_required_fields' store=True
  • product_id Many2one → product.product
    comodel_name='product.product' ondelete='cascade' required=True string='Product'
  • product_name Char
    compute='_compute_required_fields' help='This field contains the product name as string to show it in rental timeline mouseover view.' store=True string='Product Name'
  • product_tmpl_id Many2one
    related='product_id.product_tmpl_id' store=True string='Product Template'
  • rental_period Char
    compute='_compute_fields' help='This field contains the rental duration as string to show it in rental timeline mouseover view.' store=True string='Rental Duration'
  • res_id Integer
    help='This is a technical field to know which exact Odoo object this timeline item is about.' require=True string='Origin Object ID'
  • res_model Char
    help='This is a technical field to know which kind of Odoo object this timeline item is about.' require=True string='Origin Data Model'
  • time_uom Many2one → uom.uom
    comodel_name='uom.uom' compute='_compute_fields' store=True string='Time UOM'
  • type Selection
    selection=[('rental', 'Confirmed Order'), ('reserved', 'Quotation')] string='Type'
  • type_formated Char
    compute='_compute_required_fields' help='This field contains the timeline type as string to show it in rental timeline mouseover view.' store=True string='Type (Formatted)'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' compute='_compute_fields' store=True string='Warehouse'
  • warehouse_name Char
    compute='_compute_warehouse_name' help='This field contains the warehouse name as string to show it in rental timeline mouseover view.' store=True string='Warehouse Name'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (5)
  • action_cancel(self)
    @api.multi
    Delete all timeline objects when cancelling sale order.
  • action_confirm(self)
    @api.multi
    Update timeline type of timeline objects when confirming the sale order.
  • action_draft(self)
    @api.multi
    Recreate the timeline objects when setting sale order to draft state.
  • unlink(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (2)
  • rental_type Selection
    states={'draft': [('readonly', False)], 'sent': [('readonly', False)], 'sale': [('readonly', False)]}
  • timeline_ids One2many → product.timeline
    comodel_name='product.timeline' compute='_compute_timeline_ids' string='Timeline Objects'
Public methods (4)
  • create(self, vals)
    @api.model
  • unlink(self)
    @api.multi
  • update_start_end_date(self, date_start, date_end)
    @api.multi
  • write(self, vals)
    @api.multi
Status
Open migration PR — not merged yet for this version
CI status
checks running
Open since
623 days ago
Last activity
427 days ago
Repository
OCA/vertical-rental
Pull request
[17.0][MIG] rental_timeline (#59)