Files
Odoo-Modules/fusion_quotations/models/wc_config_flow_node_option.py
gsinghpal acd3fc455e changes
2026-03-09 15:21:22 -04:00

52 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
class WheelchairConfigFlowNodeOption(models.Model):
_name = 'fusion.wc.config.flow.node.option'
_description = 'Configuration Flow Node Option'
_order = 'sequence, id'
node_id = fields.Many2one('fusion.wc.config.flow.node', string='Node',
required=True, ondelete='cascade', index=True)
name = fields.Char(string='Name', required=True)
sequence = fields.Integer(default=10)
# Link to actual section product option
section_option_id = fields.Many2one('fusion.wc.section.option',
string='Section Option',
help='Link this choice to a wheelchair section product option')
# Effects when this option is selected
enables_option_ids = fields.Many2many(
'fusion.wc.section.option',
'wc_flow_node_opt_enables_rel',
'node_option_id', 'option_id',
string='Enables Options',
help='Section options to enable when this choice is selected')
disables_option_ids = fields.Many2many(
'fusion.wc.section.option',
'wc_flow_node_opt_disables_rel',
'node_option_id', 'option_id',
string='Disables Options',
help='Section options to disable when this choice is selected')
requires_option_ids = fields.Many2many(
'fusion.wc.section.option',
'wc_flow_node_opt_requires_rel',
'node_option_id', 'option_id',
string='Requires Options',
help='Section options that become required when this choice is selected')
# Port key for connections — auto-generated from sequence
port_key = fields.Char(string='Port Key', compute='_compute_port_key',
store=True)
@api.depends('sequence', 'node_id')
def _compute_port_key(self):
for record in self:
record.port_key = 'opt_%d' % (record.sequence or 0)