first commit
This commit is contained in:
59
modules/document_incoming_invoice/document.py
Normal file
59
modules/document_incoming_invoice/document.py
Normal file
@@ -0,0 +1,59 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.i18n import gettext
|
||||
from trytond.model import fields
|
||||
from trytond.modules.document_incoming.exceptions import (
|
||||
DocumentIncomingProcessError)
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
|
||||
|
||||
class IncomingConfiguration(metaclass=PoolMeta):
|
||||
__name__ = 'document.incoming.configuration'
|
||||
|
||||
default_supplier = fields.Many2One('party.party', "Default Supplier")
|
||||
|
||||
|
||||
class Incoming(metaclass=PoolMeta):
|
||||
__name__ = 'document.incoming'
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls.type.selection.append(
|
||||
('supplier_invoice', "Supplier Invoice"))
|
||||
|
||||
@classmethod
|
||||
def _get_results(cls):
|
||||
return super()._get_results() | {'account.invoice'}
|
||||
|
||||
def _process_supplier_invoice(self):
|
||||
pool = Pool()
|
||||
Invoice = pool.get('account.invoice')
|
||||
Configuration = pool.get('document.incoming.configuration')
|
||||
config = Configuration(1)
|
||||
invoice = Invoice(
|
||||
type='in',
|
||||
company=self.company or self.supplier_invoice_company)
|
||||
if invoice.company:
|
||||
invoice.currency = invoice.company.currency
|
||||
else:
|
||||
raise DocumentIncomingProcessError(gettext(
|
||||
'document_incoming_invoice'
|
||||
'.msg_supplier_invoice_company',
|
||||
document=self.rec_name))
|
||||
invoice.on_change_type()
|
||||
invoice.on_change_company()
|
||||
# set party id after company for context
|
||||
party = self.supplier_invoice_party or config.default_supplier
|
||||
invoice.party = party.id if party else None
|
||||
invoice.on_change_party()
|
||||
return invoice
|
||||
|
||||
@property
|
||||
def supplier_invoice_company(self):
|
||||
pass
|
||||
|
||||
@property
|
||||
def supplier_invoice_party(self):
|
||||
pass
|
||||
Reference in New Issue
Block a user