mirror of
https://bitbucket.org/presik/trytonpsk-sale_pos.git
synced 2023-12-14 07:13:02 +01:00
Add get auth
This commit is contained in:
parent
abf5000baa
commit
654af06c04
1 changed files with 37 additions and 17 deletions
54
sale.py
54
sale.py
|
@ -188,7 +188,11 @@ class Sale(metaclass=PoolMeta):
|
|||
if not invoice_lines:
|
||||
return
|
||||
|
||||
sale = sales[0]
|
||||
invoice = self._get_invoice_sale()
|
||||
if self.invoice_type:
|
||||
invoice.authorization = self._get_authorization(sale)
|
||||
invoice.invoice_type = self.invoice_type
|
||||
if getattr(invoice, 'lines', None):
|
||||
invoice_lines = list(invoice.lines) + invoice_lines
|
||||
invoice.lines = invoice_lines
|
||||
|
@ -197,6 +201,22 @@ class Sale(metaclass=PoolMeta):
|
|||
Invoice.update_taxes([invoice])
|
||||
return invoice
|
||||
|
||||
def _get_authorization(self, sale):
|
||||
authorization_id = None
|
||||
if sale.untaxed_amount_cache > 0:
|
||||
if sale.invoice_type == 'P' and sale.shop.pos_authorization:
|
||||
authorization_id = sale.shop.pos_authorization.id
|
||||
elif sale.invoice_type == 'M' and sale.shop.manual_authorization:
|
||||
authorization_id = sale.shop.manual_authorization.id
|
||||
elif sale.invoice_type in ['1', '2', '3'] and sale.shop.electronic_authorization:
|
||||
authorization_id = sale.shop.electronic_authorization.id
|
||||
elif sale.shop.debit_note_electronic_authorization and sale.invoice_type == '92':
|
||||
authorization_id = sale.shop.debit_note_electronic_authorization.id
|
||||
else:
|
||||
if sale.shop.credit_note_electronic_authorization and sale.invoice_type in ['91', 'N']:
|
||||
authorization_id = sale.shop.credit_note_electronic_authorization.id
|
||||
return authorization_id
|
||||
|
||||
@classmethod
|
||||
def process_pos(cls, sale):
|
||||
pool = Pool()
|
||||
|
@ -224,7 +244,6 @@ class Sale(metaclass=PoolMeta):
|
|||
})
|
||||
else:
|
||||
number = sale.invoice_number
|
||||
|
||||
position = sale.position if sale.position else None
|
||||
if invoice:
|
||||
if sale.invoice_date:
|
||||
|
@ -243,22 +262,23 @@ class Sale(metaclass=PoolMeta):
|
|||
}
|
||||
|
||||
if sale.invoice_type:
|
||||
authorization_id = None
|
||||
if sale.untaxed_amount_cache > 0:
|
||||
if sale.invoice_type == 'P' and sale.shop.pos_authorization:
|
||||
authorization_id = sale.shop.pos_authorization.id
|
||||
elif sale.invoice_type == 'M' and sale.shop.manual_authorization:
|
||||
authorization_id = sale.shop.manual_authorization.id
|
||||
elif sale.invoice_type in ['1', '2', '3'] and sale.shop.electronic_authorization:
|
||||
authorization_id = sale.shop.electronic_authorization.id
|
||||
elif sale.shop.debit_note_electronic_authorization and sale.invoice_type == '92':
|
||||
authorization_id = sale.shop.debit_note_electronic_authorization.id
|
||||
else:
|
||||
if sale.shop.credit_note_electronic_authorization and sale.invoice_type in ['91', 'N']:
|
||||
authorization_id = sale.shop.credit_note_electronic_authorization.id
|
||||
|
||||
to_write['invoice_type'] = sale.invoice_type
|
||||
to_write['authorization'] = authorization_id
|
||||
# authorization_id = None
|
||||
# if sale.untaxed_amount_cache > 0:
|
||||
# if sale.invoice_type == 'P' and sale.shop.pos_authorization:
|
||||
# authorization_id = sale.shop.pos_authorization.id
|
||||
# elif sale.invoice_type == 'M' and sale.shop.manual_authorization:
|
||||
# authorization_id = sale.shop.manual_authorization.id
|
||||
# elif sale.invoice_type in ['1', '2', '3'] and sale.shop.electronic_authorization:
|
||||
# authorization_id = sale.shop.electronic_authorization.id
|
||||
# elif sale.shop.debit_note_electronic_authorization and sale.invoice_type == '92':
|
||||
# authorization_id = sale.shop.debit_note_electronic_authorization.id
|
||||
# else:
|
||||
# if sale.shop.credit_note_electronic_authorization and sale.invoice_type in ['91', 'N']:
|
||||
# authorization_id = sale.shop.credit_note_electronic_authorization.id
|
||||
#
|
||||
# to_write['invoice_type'] = sale.invoice_type
|
||||
# to_write['authorization'] = authorization_id
|
||||
pass
|
||||
invoice.write([invoice], to_write)
|
||||
|
||||
sale.save()
|
||||
|
|
Loading…
Reference in a new issue