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'
|
__name__ = 'aeat.sii.report.lines'
|
||||||
|
|
||||||
|
_states = {
|
||||||
|
'readonly': Eval('report_state') != 'draft',
|
||||||
|
}
|
||||||
|
_depends = ['report_state']
|
||||||
|
|
||||||
report = fields.Many2One(
|
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',
|
invoice = fields.Many2One('account.invoice', 'Invoice',
|
||||||
states={
|
states={
|
||||||
'required': Eval('_parent_report', {}).get(
|
'required': Eval('_parent_report', {}).get(
|
||||||
'operation_type') != 'C0',
|
'operation_type') != 'C0',
|
||||||
})
|
'readonly': _states['readonly'],
|
||||||
state = fields.Selection(AEAT_INVOICE_STATE, 'State')
|
},
|
||||||
|
depends=_depends)
|
||||||
|
state = fields.Selection(AEAT_INVOICE_STATE, 'State', readonly=True)
|
||||||
communication_code = fields.Integer(
|
communication_code = fields.Integer(
|
||||||
'Communication Code', readonly=True)
|
'Communication Code', readonly=True)
|
||||||
communication_msg = fields.Char(
|
communication_msg = fields.Char(
|
||||||
'Communication Message', readonly=True)
|
'Communication Message', readonly=True)
|
||||||
company = fields.Many2One(
|
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)
|
issuer_vat_number = fields.Char('Issuer VAT Number', readonly=True)
|
||||||
serial_number = fields.Char('Serial Number', readonly=True)
|
serial_number = fields.Char('Serial Number', readonly=True)
|
||||||
final_serial_number = fields.Char('Final 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'),
|
fields.Selection(OPERATION_KEY, 'SII Operation Key'),
|
||||||
'get_invoice_operation_key')
|
'get_invoice_operation_key')
|
||||||
|
|
||||||
|
del _states, _depends
|
||||||
|
|
||||||
def get_invoice_operation_key(self, name):
|
def get_invoice_operation_key(self, name):
|
||||||
return self.invoice.sii_operation_key if self.invoice else None
|
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):
|
def get_identifier_type(self, name):
|
||||||
return self.invoice.party.sii_identifier_type if self.invoice else None
|
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
|
@staticmethod
|
||||||
def default_company():
|
def default_company():
|
||||||
return Transaction().context.get('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
|
@classmethod
|
||||||
def copy(cls, records, default=None):
|
def copy(cls, records, default=None):
|
||||||
if default is None:
|
if default is None:
|
||||||
|
|
Loading…
Reference in a new issue