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'),