Make possible to not send and not create the Facturae automatically and

allow to do it manually. Or send by any of the services selected or
create only the file and do not send.
This commit is contained in:
Bernat Brunet 2023-08-18 12:50:23 +02:00
parent 90773042c3
commit d7488ed6d9
4 changed files with 35 additions and 17 deletions

View File

@ -77,7 +77,8 @@ class ConfigurationFacturae(ModelSQL, CompanyValueMixin):
facturae_certificate = fields.Many2One('certificate', "Factura-e Certificate", facturae_certificate = fields.Many2One('certificate', "Factura-e Certificate",
help='Certificate to sign Factura-e') help='Certificate to sign Factura-e')
facturae_service = fields.Selection([ facturae_service = fields.Selection([
(None, 'Only Generate Facturae'), (None, 'None'),
('only_file', 'Only Generate Facturae'),
], "Factura-e Service") ], "Factura-e Service")
@staticmethod @staticmethod

View File

@ -255,6 +255,9 @@ class Invoice(metaclass=PoolMeta):
config = Configuration(1) config = Configuration(1)
transaction = Transaction() transaction = Transaction()
# send facturae to service
if not service and config.facturae_service:
service = config.facturae_service
if not self.invoice_facturae: if not self.invoice_facturae:
facturae_content = self.get_facturae() facturae_content = self.get_facturae()
self._validate_facturae(facturae_content) self._validate_facturae(facturae_content)
@ -266,10 +269,7 @@ class Invoice(metaclass=PoolMeta):
self.invoice_facturae = invoice_facturae self.invoice_facturae = invoice_facturae
self.save() self.save()
# send facturae to service if self.invoice_facturae and service and service != 'only_file':
if not service and config.facturae_service:
service = config.facturae_service
if self.invoice_facturae and service:
with transaction.set_context( with transaction.set_context(
queue_scheduled_at=config.invoice_facturae_after): queue_scheduled_at=config.invoice_facturae_after):
Invoice.__queue__.send_facturae(self, service) Invoice.__queue__.send_facturae(self, service)
@ -816,7 +816,8 @@ class GenerateFacturaeStart(ModelView):
'Generate Factura-e file - Start' 'Generate Factura-e file - Start'
__name__ = 'account.invoice.generate_facturae.start' __name__ = 'account.invoice.generate_facturae.start'
service = fields.Selection([ service = fields.Selection([
(None, 'Only generate facturae'), (None, 'None'),
('only_file', 'Only Generate Facturae'),
], 'Factura-e Service') ], 'Factura-e Service')
certificate = fields.Many2One('certificate', certificate = fields.Many2One('certificate',
'Factura-e Certificate', depends=['service']) 'Factura-e Certificate', depends=['service'])

View File

@ -895,6 +895,14 @@ msgctxt "selection:account.configuration.facturae,facturae_service:"
msgid "Only Generate Facturae" msgid "Only Generate Facturae"
msgstr "Només genera la Factura-e" msgstr "Només genera la Factura-e"
msgctxt "selection:account.configuration.facturae,service:"
msgid "None"
msgstr "Cap"
msgctxt "selection:account.invoice.generate_facturae.start,service:" msgctxt "selection:account.invoice.generate_facturae.start,service:"
msgid "Only Generate Facturae" msgid "Only Generate Facturae"
msgstr "Només genera la Factura-e" msgstr "Només genera la Factura-e"
msgctxt "selection:account.invoice.generate_facturae.start,service:"
msgid "None"
msgstr "Cap"

View File

@ -889,6 +889,14 @@ msgctxt "selection:account.configuration.facturae,service:"
msgid "Only Generate Facturae" msgid "Only Generate Facturae"
msgstr "Solo genera la Factura-e" msgstr "Solo genera la Factura-e"
msgctxt "selection:account.configuration.facturae,service:"
msgid "None"
msgstr "Ninguno"
msgctxt "selection:account.invoice.generate_facturae.start,service:" msgctxt "selection:account.invoice.generate_facturae.start,service:"
msgid "Only Generate Facturae" msgid "Only Generate Facturae"
msgstr "Solo genera la Factura-e" msgstr "Solo genera la Factura-e"
msgctxt "selection:account.invoice.generate_facturae.start,service:"
msgid "None"
msgstr "Ninguno"