odoo18/addons_extensions/employee_it_declaration/wizards/nsc_declaration.py

28 lines
1.1 KiB
Python

from odoo import models, fields, api
class NSCDeclarationLine(models.Model):
_name = 'nsc.declaration.line'
_description = 'NSC Declaration Line'
it_declaration_id = fields.Many2one('emp.it.declaration', string="IT Declaration", required=True)
us80c_id = fields.Many2one('us80c.costing.type', string="80C Costing Type", required=True)
nsc_entry_ids = fields.One2many('nsc.entry', 'parent_id', string="NSC Entries")
total_nsc_amount = fields.Float(string="Total NSC Amount", compute="_compute_total_amount", store=True)
@api.depends('nsc_entry_ids.nsc_amount')
def _compute_total_amount(self):
for rec in self:
rec.total_nsc_amount = sum(entry.nsc_amount for entry in rec.nsc_entry_ids)
class NSCEntry(models.Model):
_name = 'nsc.entry'
_description = 'NSC Entry'
parent_id = fields.Many2one('nsc.declaration.line', string="NSC Declaration")
nsc_number = fields.Char(string="NSC Number")
nsc_amount = fields.Float(string="NSC Amount")
nsc_payment_date = fields.Date(string="NSC Payment Date")