Files
Odoo-Modules/fusion_ltc_management/models/ltc_form_submission.py
Nexa Admin 431052920e feat: separate fusion field service and LTC into standalone modules, update core modules
- fusion_claims: separated field service logic, updated controllers/views
- fusion_tasks: updated task views and map integration
- fusion_authorizer_portal: added page 11 signing, schedule booking, migrations
- fusion_shipping: new standalone shipping module (Canada Post, FedEx, DHL, Purolator)
- fusion_ltc_management: new standalone LTC management module
2026-03-11 16:19:52 +00:00

69 lines
2.1 KiB
Python

# -*- coding: utf-8 -*-
# Copyright 2024-2026 Nexa Systems Inc.
# License OPL-1 (Odoo Proprietary License v1.0)
from odoo import models, fields, api, _
class FusionLTCFormSubmission(models.Model):
_name = 'fusion.ltc.form.submission'
_description = 'LTC Form Submission'
_order = 'submitted_date desc, id desc'
name = fields.Char(
string='Reference',
required=True,
copy=False,
readonly=True,
default=lambda self: _('New'),
)
form_type = fields.Selection([
('repair', 'Repair Request'),
], string='Form Type', default='repair', required=True, index=True)
repair_id = fields.Many2one(
'fusion.ltc.repair',
string='Repair Request',
ondelete='set null',
index=True,
)
facility_id = fields.Many2one(
'fusion.ltc.facility',
string='Facility',
index=True,
)
client_name = fields.Char(string='Client Name')
room_number = fields.Char(string='Room Number')
product_serial = fields.Char(string='Product Serial #')
is_emergency = fields.Boolean(string='Emergency')
submitted_date = fields.Datetime(
string='Submitted Date',
default=fields.Datetime.now,
readonly=True,
)
ip_address = fields.Char(string='IP Address', readonly=True)
status = fields.Selection([
('submitted', 'Submitted'),
('processed', 'Processed'),
('rejected', 'Rejected'),
], string='Status', default='submitted', tracking=True)
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if vals.get('name', _('New')) == _('New'):
vals['name'] = self.env['ir.sequence'].next_by_code(
'fusion.ltc.form.submission'
) or _('New')
return super().create(vals_list)
def action_view_repair(self):
self.ensure_one()
if not self.repair_id:
return
return {
'type': 'ir.actions.act_window',
'res_model': 'fusion.ltc.repair',
'view_mode': 'form',
'res_id': self.repair_id.id,
}