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

Reply via email to