Files
Odoo-Modules/fusion_rental/models/renewal_log.py
gsinghpal 14fe9ab716 feat: hide authorizer for rental orders, auto-set sale type
Rental orders no longer show the "Authorizer Required?" question or
the Authorizer field. The sale type is automatically set to 'Rentals'
when creating or confirming a rental order. Validation logic also
skips authorizer checks for rental sale type.

Made-with: Cursor
2026-02-25 23:33:23 -05:00

76 lines
2.0 KiB
Python

from odoo import api, fields, models
class RentalRenewalLog(models.Model):
_name = 'rental.renewal.log'
_description = 'Rental Renewal Log'
_order = 'create_date desc'
_rec_name = 'display_name'
order_id = fields.Many2one(
'sale.order',
string="Rental Order",
required=True,
ondelete='cascade',
index=True,
)
partner_id = fields.Many2one(
related='order_id.partner_id',
store=True,
string="Customer",
)
renewal_number = fields.Integer(
string="Renewal #",
required=True,
)
previous_start_date = fields.Datetime(string="Previous Start")
previous_return_date = fields.Datetime(string="Previous Return")
new_start_date = fields.Datetime(string="New Start")
new_return_date = fields.Datetime(string="New Return")
invoice_id = fields.Many2one(
'account.move',
string="Invoice",
ondelete='set null',
)
payment_status = fields.Selection(
[
('pending', 'Pending'),
('paid', 'Paid'),
('failed', 'Failed'),
],
string="Payment Status",
default='pending',
)
payment_transaction_id = fields.Many2one(
'payment.transaction',
string="Payment Transaction",
ondelete='set null',
)
renewal_type = fields.Selection(
[
('automatic', 'Automatic'),
('manual', 'Manual'),
],
string="Renewal Type",
required=True,
)
state = fields.Selection(
[
('draft', 'Draft'),
('done', 'Done'),
('failed', 'Failed'),
('cancelled', 'Cancelled'),
],
string="Status",
default='draft',
required=True,
)
notes = fields.Text(string="Notes")
@api.depends('order_id', 'renewal_number')
def _compute_display_name(self):
for rec in self:
rec.display_name = (
f"{rec.order_id.name or 'New'} - Renewal #{rec.renewal_number}"
)