changeset 3538a1c8f8e0 in modules/account_invoice:default
details:
https://hg.tryton.org/modules/account_invoice?cmd=changeset;node=3538a1c8f8e0
description:
Store directly sequence type to sequence
issue10122
review351381002
diffstat:
account.py | 34 ++++++++++----------------
invoice.py | 3 +-
invoice.xml | 1 -
tests/scenario_invoice.rst | 3 +-
tests/scenario_invoice_alternate_currency.rst | 3 +-
tests/scenario_invoice_overpayment.rst | 3 +-
tests/test_account_invoice.py | 6 +++-
tests/tools.py | 8 +++++-
8 files changed, 32 insertions(+), 29 deletions(-)
diffs (173 lines):
diff -r ef79a043773f -r 3538a1c8f8e0 account.py
--- a/account.py Sun Mar 07 11:13:53 2021 +0100
+++ b/account.py Thu Mar 11 23:00:09 2021 +0100
@@ -8,7 +8,7 @@
from trytond.i18n import gettext
from trytond.model import (fields, ModelView, ModelSQL, Workflow, MatchMixin,
sequence_ordered)
-from trytond.pyson import Eval, If, Bool
+from trytond.pyson import Eval, If, Bool, Id
from trytond.pool import Pool, PoolMeta
from trytond.tools import grouped_slice
from trytond.transaction import Transaction
@@ -179,41 +179,33 @@
in_invoice_sequence = fields.Many2One('ir.sequence.strict',
'Supplier Invoice Sequence', required=True,
domain=[
- ('code', '=', 'account.invoice'),
- ['OR',
- ('company', '=', Eval('company')),
- ('company', '=', None),
- ],
+ ('sequence_type', '=',
+ Id('account_invoice', 'sequence_type_account_invoice')),
+ ('company', '=', Eval('company')),
],
depends=['company'])
in_credit_note_sequence = fields.Many2One('ir.sequence.strict',
'Supplier Credit Note Sequence', required=True,
domain=[
- ('code', '=', 'account.invoice'),
- ['OR',
- ('company', '=', Eval('company')),
- ('company', '=', None),
- ],
+ ('sequence_type', '=',
+ Id('account_invoice', 'sequence_type_account_invoice')),
+ ('company', '=', Eval('company')),
],
depends=['company'])
out_invoice_sequence = fields.Many2One('ir.sequence.strict',
'Customer Invoice Sequence', required=True,
domain=[
- ('code', '=', 'account.invoice'),
- ['OR',
- ('company', '=', Eval('company')),
- ('company', '=', None),
- ],
+ ('sequence_type', '=',
+ Id('account_invoice', 'sequence_type_account_invoice')),
+ ('company', '=', Eval('company')),
],
depends=['company'])
out_credit_note_sequence = fields.Many2One('ir.sequence.strict',
'Customer Credit Note Sequence', required=True,
domain=[
- ('code', '=', 'account.invoice'),
- ['OR',
- ('company', '=', Eval('company')),
- ('company', '=', None),
- ],
+ ('sequence_type', '=',
+ Id('account_invoice', 'sequence_type_account_invoice')),
+ ('company', '=', Eval('company')),
],
depends=['company'])
diff -r ef79a043773f -r 3538a1c8f8e0 invoice.py
--- a/invoice.py Sun Mar 07 11:13:53 2021 +0100
+++ b/invoice.py Thu Mar 11 23:00:09 2021 +0100
@@ -1084,7 +1084,6 @@
def get_next_number(self, pattern=None):
"Return invoice number and sequence id used"
pool = Pool()
- Sequence = pool.get('ir.sequence.strict')
Period = pool.get('account.period')
if pattern is None:
@@ -1114,7 +1113,7 @@
invoice=self.rec_name,
fiscalyear=fiscalyear.rec_name))
with Transaction().set_context(date=accounting_date):
- return Sequence.get_id(sequence.id), sequence.id
+ return sequence.get(), sequence.id
@property
def _sequence_field(self):
diff -r ef79a043773f -r 3538a1c8f8e0 invoice.xml
--- a/invoice.xml Sun Mar 07 11:13:53 2021 +0100
+++ b/invoice.xml Thu Mar 11 23:00:09 2021 +0100
@@ -230,7 +230,6 @@
<record model="ir.sequence.type" id="sequence_type_account_invoice">
<field name="name">Invoice</field>
- <field name="code">account.invoice</field>
</record>
<record model="ir.sequence.type-res.group"
id="sequence_type_account_invoice_group_admin">
diff -r ef79a043773f -r 3538a1c8f8e0 tests/scenario_invoice.rst
--- a/tests/scenario_invoice.rst Sun Mar 07 11:13:53 2021 +0100
+++ b/tests/scenario_invoice.rst Thu Mar 11 23:00:09 2021 +0100
@@ -78,7 +78,8 @@
Create Write Off method::
>>> WriteOff = Model.get('account.move.reconcile.write_off')
- >>> sequence_journal, = Sequence.find([('code', '=', 'account.journal')])
+ >>> sequence_journal, = Sequence.find(
+ ... [('sequence_type.name', '=', "Account Journal")], limit=1)
>>> journal_writeoff = Journal(name='Write-Off', type='write-off',
... sequence=sequence_journal)
>>> journal_writeoff.save()
diff -r ef79a043773f -r 3538a1c8f8e0
tests/scenario_invoice_alternate_currency.rst
--- a/tests/scenario_invoice_alternate_currency.rst Sun Mar 07 11:13:53
2021 +0100
+++ b/tests/scenario_invoice_alternate_currency.rst Thu Mar 11 23:00:09
2021 +0100
@@ -80,7 +80,8 @@
Create writeoff method::
>>> WriteOff = Model.get('account.move.reconcile.write_off')
- >>> sequence_journal, = Sequence.find([('code', '=', 'account.journal')])
+ >>> sequence_journal, = Sequence.find(
+ ... [('sequence_type.name', '=', "Account Journal")])
>>> journal_writeoff = Journal(name='Write-Off', type='write-off',
... sequence=sequence_journal)
>>> journal_writeoff.save()
diff -r ef79a043773f -r 3538a1c8f8e0 tests/scenario_invoice_overpayment.rst
--- a/tests/scenario_invoice_overpayment.rst Sun Mar 07 11:13:53 2021 +0100
+++ b/tests/scenario_invoice_overpayment.rst Thu Mar 11 23:00:09 2021 +0100
@@ -51,7 +51,8 @@
Create write-off method::
>>> WriteOff = Model.get('account.move.reconcile.write_off')
- >>> sequence_journal, = Sequence.find([('code', '=', 'account.journal')])
+ >>> sequence_journal, = Sequence.find(
+ ... [('sequence_type.name', '=', "Account Journal")], limit=1)
>>> journal_writeoff = Journal(
... name='Write-Off', type='write-off', sequence=sequence_journal)
>>> journal_writeoff.save()
diff -r ef79a043773f -r 3538a1c8f8e0 tests/test_account_invoice.py
--- a/tests/test_account_invoice.py Sun Mar 07 11:13:53 2021 +0100
+++ b/tests/test_account_invoice.py Thu Mar 11 23:00:09 2021 +0100
@@ -20,9 +20,13 @@
def set_invoice_sequences(fiscalyear):
pool = Pool()
Sequence = pool.get('ir.sequence.strict')
+ SequenceType = pool.get('ir.sequence.type')
InvoiceSequence = pool.get('account.fiscalyear.invoice_sequence')
- sequence = Sequence(name=fiscalyear.name, code='account.invoice')
+ sequence_type, = SequenceType.search([
+ ('name', '=', "Invoice"),
+ ], limit=1)
+ sequence = Sequence(name=fiscalyear.name, sequence_type=sequence_type)
sequence.company = fiscalyear.company
sequence.save()
fiscalyear.invoice_sequences = []
diff -r ef79a043773f -r 3538a1c8f8e0 tests/tools.py
--- a/tests/tools.py Sun Mar 07 11:13:53 2021 +0100
+++ b/tests/tools.py Thu Mar 11 23:00:09 2021 +0100
@@ -8,8 +8,14 @@
def set_fiscalyear_invoice_sequences(fiscalyear, config=None):
"Set invoice sequences to fiscalyear"
SequenceStrict = Model.get('ir.sequence.strict', config=config)
+ SequenceType = Model.get('ir.sequence.type', config=config)
- invoice_seq = SequenceStrict(name=fiscalyear.name, code='account.invoice',
+ sequence_type, = SequenceType.find([
+ ('name', '=', "Invoice"),
+ ], limit=1)
+ invoice_seq = SequenceStrict(
+ name=fiscalyear.name,
+ sequence_type=sequence_type,
company=fiscalyear.company)
invoice_seq.save()
seq, = fiscalyear.invoice_sequences