feat(configurator): fp.additional.charge.type model + config menu + seed

This commit is contained in:
gsinghpal
2026-05-29 21:32:49 -04:00
parent 7efaadc1c1
commit c6022c70f9
8 changed files with 103 additions and 1 deletions

View File

@@ -9,6 +9,7 @@ from . import fp_pricing_complexity_surcharge
from . import fp_pricing_rule
from . import fp_sale_description_template
from . import fp_part_description_version
from . import fp_additional_charge_type
from . import fp_so_job_sort
from . import fp_quote_configurator
from . import fp_serial

View File

@@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# Copyright 2026 Nexa Systems Inc.
# License OPL-1 (Odoo Proprietary License v1.0)
# Part of the Fusion Plating product family.
from odoo import fields, models
class FpAdditionalChargeType(models.Model):
"""A configurable, reusable 'additional charge' label (Tooling, Rush,
Setup, …) picked on the order-entry summary. Searchable + quick-create.
Spec: docs/superpowers/specs/2026-05-29-configurable-charge-tax-lot-pricing-design.md
"""
_name = 'fp.additional.charge.type'
_description = 'Fusion Plating — Additional Charge Type'
_order = 'sequence, name'
name = fields.Char(string='Charge Type', required=True)
default_amount = fields.Monetary(
string='Default Amount', currency_field='currency_id',
help='Optional amount pre-filled when this type is picked on an '
'order. The operator can override it.',
)
currency_id = fields.Many2one(
'res.currency', default=lambda self: self.env.company.currency_id,
)
active = fields.Boolean(default=True)
sequence = fields.Integer(default=10)