mirror of
https://gitlab.com/datalifeit/trytond-account_es_sii
synced 2023-12-14 06:13:02 +01:00
Add readonly states on report lines
This commit is contained in:
parent
31d871d322
commit
76ecff22e6
34
aeat.py
34
aeat.py
|
@ -773,20 +773,32 @@ class SIIReportLine(ModelSQL, ModelView):
|
|||
'''
|
||||
__name__ = 'aeat.sii.report.lines'
|
||||
|
||||
_states = {
|
||||
'readonly': Eval('report_state') != 'draft',
|
||||
}
|
||||
_depends = ['report_state']
|
||||
|
||||
report = fields.Many2One(
|
||||
'aeat.sii.report', 'Issued Report', ondelete='CASCADE')
|
||||
'aeat.sii.report', 'Issued Report', ondelete='CASCADE',
|
||||
states=_states, depends=_depends)
|
||||
report_state = fields.Function(fields.Selection(
|
||||
'get_report_state', "Report State"),
|
||||
'on_change_with_report_state')
|
||||
invoice = fields.Many2One('account.invoice', 'Invoice',
|
||||
states={
|
||||
'required': Eval('_parent_report', {}).get(
|
||||
'operation_type') != 'C0',
|
||||
})
|
||||
state = fields.Selection(AEAT_INVOICE_STATE, 'State')
|
||||
'readonly': _states['readonly'],
|
||||
},
|
||||
depends=_depends)
|
||||
state = fields.Selection(AEAT_INVOICE_STATE, 'State', readonly=True)
|
||||
communication_code = fields.Integer(
|
||||
'Communication Code', readonly=True)
|
||||
communication_msg = fields.Char(
|
||||
'Communication Message', readonly=True)
|
||||
company = fields.Many2One(
|
||||
'company.company', 'Company', required=True, select=True)
|
||||
'company.company', 'Company', required=True, select=True,
|
||||
states=_states, depends=_depends)
|
||||
issuer_vat_number = fields.Char('Issuer VAT Number', readonly=True)
|
||||
serial_number = fields.Char('Serial Number', readonly=True)
|
||||
final_serial_number = fields.Char('Final Serial Number', readonly=True)
|
||||
|
@ -811,6 +823,8 @@ class SIIReportLine(ModelSQL, ModelView):
|
|||
fields.Selection(OPERATION_KEY, 'SII Operation Key'),
|
||||
'get_invoice_operation_key')
|
||||
|
||||
del _states, _depends
|
||||
|
||||
def get_invoice_operation_key(self, name):
|
||||
return self.invoice.sii_operation_key if self.invoice else None
|
||||
|
||||
|
@ -820,10 +834,22 @@ class SIIReportLine(ModelSQL, ModelView):
|
|||
def get_identifier_type(self, name):
|
||||
return self.invoice.party.sii_identifier_type if self.invoice else None
|
||||
|
||||
@classmethod
|
||||
def get_report_state(cls):
|
||||
pool = Pool()
|
||||
Report = pool.get('aeat.sii.report')
|
||||
field_name = 'state'
|
||||
return Report.fields_get([field_name])[field_name]['selection']
|
||||
|
||||
@staticmethod
|
||||
def default_company():
|
||||
return Transaction().context.get('company')
|
||||
|
||||
@fields.depends('report')
|
||||
def on_change_with_report_state(self, name=None):
|
||||
if self.report:
|
||||
return self.report.state
|
||||
|
||||
@classmethod
|
||||
def copy(cls, records, default=None):
|
||||
if default is None:
|
||||
|
|
Loading…
Reference in a new issue