Rental Timeline

rental_timeline
REPOSITORY
REPOSITORYOCA/vertical-rental
GIT
GIThttps://github.com/OCA/vertical-rental.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-rental/tree/12.0/rental_timeline
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYRental
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), elego Software Solutions GmbH
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), elego Software Solutions GmbH
COMMITTERS
COMMITTERSoca-travis, chandni299
WEBSITE
WEBSITEhttps://github.com/OCA/vertical-rental
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-analytic:
    - product_analytic
OCA/account-closing:
    - account_invoice_start_end_dates
OCA/sale-workflow:
    - sale_order_type
    - sale_rental
    - sale_start_end_dates
OCA/vertical-rental:
    - rental_base
OCA/web:
    - web_timeline
odoo/odoo:
    - web
    - base
    - account
    - base_setup
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - sale_stock
    - sale
    - sales_team
    - payment
    - stock_account
    - stock
    - barcodes
    - sale_management
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
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 button 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 timeline New
view_product_timeline_tree product.timeline.tree product.timeline tree New
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
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/vertical-rental
PULL REQUEST
PULL REQUEST[17.0][MIG] rental_timeline (#59)