changeset 45193366c468 in modules/sale_complaint:default
details:
https://hg.tryton.org/modules/sale_complaint?cmd=changeset&node=45193366c468
description:
Use declarative index definition for ModelSQL
issue5757
review361251002
diffstat:
complaint.py | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diffs (52 lines):
diff -r 7132c833c6a3 -r 45193366c468 complaint.py
--- a/complaint.py Sun Oct 09 19:01:25 2022 +0200
+++ b/complaint.py Tue Oct 11 00:44:50 2022 +0200
@@ -8,7 +8,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)
@@ -38,8 +38,8 @@
'readonly': Eval('state') != 'draft',
}
- number = fields.Char('Number', readonly=True, select=True)
- reference = fields.Char('Reference', select=True)
+ number = fields.Char("Number", readonly=True)
+ reference = fields.Char("Reference")
date = fields.Date('Date', states=_states)
customer = fields.Many2One(
'party.party', "Customer", required=True, states=_states,
@@ -129,7 +129,17 @@
@classmethod
def __setup__(cls):
+ cls.number.search_unaccented = False
+ cls.reference.search_unaccented = False
super(Complaint, cls).__setup__()
+ t = cls.__table__()
+ cls._sql_indexes.update({
+ Index(t, (t.reference, Index.Similarity())),
+ Index(
+ t,
+ (t.state, Index.Equality()),
+ where=t.state.in_(['draft', 'waiting', 'approved'])),
+ })
cls._order.insert(0, ('date', 'DESC'))
cls._transitions |= set((
('draft', 'waiting'),
@@ -646,8 +656,8 @@
| Bool(Eval('_parent_action.result', True))),
}
- action = fields.Many2One('sale.complaint.action', 'Action',
- ondelete='CASCADE', select=True, required=True)
+ action = fields.Many2One(
+ 'sale.complaint.action', "Action", ondelete='CASCADE', required=True)
quantity = fields.Float(
"Quantity", digits='unit', states=_states)
unit = fields.Function(