changeset d0e5f60cf8f3 in modules/account_payment:default
details: 
https://hg.tryton.org/modules/account_payment?cmd=changeset&node=d0e5f60cf8f3
description:
        Use declarative index definition for ModelSQL

        issue5757
        review361251002
diffstat:

 party.py   |   4 ++--
 payment.py |  20 ++++++++++++--------
 2 files changed, 14 insertions(+), 10 deletions(-)

diffs (93 lines):

diff -r 5455ab722879 -r d0e5f60cf8f3 party.py
--- a/party.py  Sat Oct 01 15:35:33 2022 +0200
+++ b/party.py  Tue Oct 11 00:44:49 2022 +0200
@@ -50,7 +50,7 @@
     "Party Payment Direct Debit"
     __name__ = 'party.party.payment_direct_debit'
     party = fields.Many2One(
-        'party.party', "Party", ondelete='CASCADE', select=True,
+        'party.party', "Party", ondelete='CASCADE',
         context={
             'company': Eval('company', -1),
             },
@@ -64,7 +64,7 @@
     __name__ = 'party.party.reception_direct_debit'
 
     party = fields.Many2One(
-        'party.party', "Party", ondelete='CASCADE', select=True,
+        'party.party', "Party", ondelete='CASCADE',
         context={
             'company': Eval('company', -1),
             },
diff -r 5455ab722879 -r d0e5f60cf8f3 payment.py
--- a/payment.py        Sat Oct 01 15:35:33 2022 +0200
+++ b/payment.py        Tue Oct 11 00:44:49 2022 +0200
@@ -10,7 +10,7 @@
 
 from trytond.i18n import gettext
 from trytond.model import (
-    DeactivableMixin, ModelSQL, ModelView, Workflow, fields)
+    DeactivableMixin, Index, ModelSQL, ModelView, Workflow, fields)
 from trytond.model.exceptions import AccessError
 from trytond.modules.company.model import (
     employee_field, reset_employee, set_employee)
@@ -36,8 +36,7 @@
     __name__ = 'account.payment.journal'
     name = fields.Char('Name', required=True)
     currency = fields.Many2One('currency.currency', 'Currency', required=True)
-    company = fields.Many2One('company.company', 'Company', required=True,
-        select=True)
+    company = fields.Many2One('company.company', "Company", required=True)
     process_method = fields.Selection([
             ('manual', 'Manual'),
             ], 'Process Method', required=True)
@@ -66,7 +65,7 @@
     number = fields.Char('Number', required=True, readonly=True)
     company = fields.Many2One(
         'company.company', "Company",
-        required=True, readonly=True, select=True)
+        required=True, readonly=True)
     journal = fields.Many2One('account.payment.journal', 'Journal',
         required=True, readonly=True, domain=[
             ('company', '=', Eval('company', -1)),
@@ -287,8 +286,7 @@
     'Payment'
     __name__ = 'account.payment'
     company = fields.Many2One(
-        'company.company', "Company", required=True, select=True,
-        states=_STATES)
+        'company.company', "Company", required=True, states=_STATES)
     journal = fields.Many2One('account.payment.journal', 'Journal',
         required=True, states=_STATES, domain=[
             ('company', '=', Eval('company', -1)),
@@ -343,7 +341,7 @@
         states=_STATES)
     description = fields.Char('Description', states=_STATES)
     origin = fields.Reference(
-        "Origin", selection='get_origin', select=True,
+        "Origin", selection='get_origin',
         states={
             'readonly': Eval('state') != 'draft',
             })
@@ -376,7 +374,7 @@
             ('processing', 'Processing'),
             ('succeeded', 'Succeeded'),
             ('failed', 'Failed'),
-            ], "State", readonly=True, select=True, sort=False,
+            ], "State", readonly=True, sort=False,
         domain=[
             If(Eval('kind') == 'receivable',
                 ('state', '!=', 'approved'),
@@ -396,6 +394,12 @@
     @classmethod
     def __setup__(cls):
         super(Payment, cls).__setup__()
+        t = cls.__table__()
+        cls._sql_indexes.add(
+            Index(
+                t, (t.state, Index.Equality()),
+                where=t.state.in_([
+                        'draft', 'submitted', 'approved', 'processing'])))
         cls._order.insert(0, ('date', 'DESC'))
         cls._transitions |= set((
                 ('draft', 'submitted'),

Reply via email to