changeset 6f21f145a0f6 in modules/sale_point:default
details:
https://hg.tryton.org/modules/sale_point?cmd=changeset&node=6f21f145a0f6
description:
Use declarative index definition for ModelSQL
issue5757
review361251002
diffstat:
product.py | 2 +-
sale.py | 19 +++++++++++++++----
2 files changed, 16 insertions(+), 5 deletions(-)
diffs (82 lines):
diff -r 938e3a6615d2 -r 6f21f145a0f6 product.py
--- a/product.py Sat Oct 01 15:12:38 2022 +0200
+++ b/product.py Tue Oct 11 00:44:50 2022 +0200
@@ -49,5 +49,5 @@
"Product Gross Price"
__name__ = 'product.gross_price'
template = fields.Many2One(
- 'product.template', "Template", ondelete='CASCADE', select=True)
+ 'product.template', "Template", ondelete='CASCADE')
gross_price = fields.Numeric("Gross Price", digits=price_digits)
diff -r 938e3a6615d2 -r 6f21f145a0f6 sale.py
--- a/sale.py Sat Oct 01 15:12:38 2022 +0200
+++ b/sale.py Tue Oct 11 00:44:50 2022 +0200
@@ -11,7 +11,7 @@
from trytond.i18n import gettext
from trytond.model import (
- DeactivableMixin, Exclude, ModelSQL, ModelView, Workflow, fields)
+ DeactivableMixin, Exclude, Index, ModelSQL, ModelView, Workflow, fields)
from trytond.model.exceptions import AccessError
from trytond.modules.account.tax import TaxableMixin
from trytond.modules.currency.fields import Monetary
@@ -28,7 +28,7 @@
class POS(ModelSQL, ModelView):
"Point of Sale"
__name__ = 'sale.point'
- name = fields.Char("Name", required=True, select=True)
+ name = fields.Char("Name", required=True)
company = fields.Many2One('company.company', "Company", required=True)
tax_included = fields.Boolean(
"Tax Included",
@@ -120,7 +120,7 @@
('company', '=', Eval('company', -1)),
])
number = fields.Char(
- "Number", readonly=True, select=True,
+ "Number", readonly=True,
states={
'required': Eval('state').in_(['done', 'posted']),
})
@@ -150,7 +150,7 @@
('done', "Done"),
('posted', "Posted"),
('cancelled', "Cancelled"),
- ], "State", readonly=True, select=True, sort=False)
+ ], "State", readonly=True, sort=False)
move = fields.Many2One(
'account.move', "Move", readonly=True,
@@ -165,7 +165,13 @@
@classmethod
def __setup__(cls):
+ cls.number.search_unaccented = False
super().__setup__()
+ t = cls.__table__()
+ cls._sql_indexes.add(
+ Index(
+ t, (t.state, Index.Equality()),
+ where=t.state.in_(['open', 'done'])))
cls._transitions |= {
('open', 'done'),
('done', 'posted'),
@@ -771,6 +777,8 @@
Exclude(t, (Coalesce(t.previous_session, -t.point), Equal)),
'sale_point.msg_cash_session_previous_unique'),
]
+ cls._sql_indexes.add(
+ Index(t, (t.state, Index.Equality()), where=t.state == 'open'))
cls._transitions |= {
('open', 'closed'),
('closed', 'open'),
@@ -1215,6 +1223,9 @@
@classmethod
def __setup__(cls):
super().__setup__()
+ t = cls.__table__()
+ cls._sql_indexes.add(
+ Index(t, (t.state, Index.Equality()), where=t.state == 'draft'))
cls._transitions |= {
('draft', 'posted'),
}