Initial import from Docker volume
This commit is contained in:
37
tests/mptt.py
Executable file
37
tests/mptt.py
Executable file
@@ -0,0 +1,37 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
"Test for Tree"
|
||||
from sql import Null
|
||||
from sql.conditionals import Case
|
||||
|
||||
from trytond.model import DeactivableMixin, ModelSQL, ModelView, fields, tree
|
||||
from trytond.pool import Pool
|
||||
|
||||
|
||||
class MPTT(DeactivableMixin, tree(), ModelSQL, ModelView):
|
||||
'Modified Preorder Tree Traversal'
|
||||
__name__ = 'test.mptt'
|
||||
name = fields.Char('Name', required=True)
|
||||
parent = fields.Many2One('test.mptt', "Parent", left="left", right="right")
|
||||
left = fields.Integer('Left', required=True)
|
||||
right = fields.Integer('Right', required=True)
|
||||
childs = fields.One2Many('test.mptt', 'parent', 'Children')
|
||||
|
||||
@staticmethod
|
||||
def order_sequence(tables):
|
||||
table, _ = tables[None]
|
||||
return [Case((table.sequence == Null, 0), else_=1), table.sequence]
|
||||
|
||||
@staticmethod
|
||||
def default_left():
|
||||
return 0
|
||||
|
||||
@staticmethod
|
||||
def default_right():
|
||||
return 0
|
||||
|
||||
|
||||
def register(module):
|
||||
Pool.register(
|
||||
MPTT,
|
||||
module=module, type_='model')
|
||||
Reference in New Issue
Block a user