From 3251bca2c594f36bdd7622e6b6614951fa2fb17c Mon Sep 17 00:00:00 2001 From: Sergio Morillo Date: Tue, 22 Jan 2019 10:38:12 +0100 Subject: [PATCH] Consider view sharing with sequence strict --- __init__.py | 1 + ir.py | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/__init__.py b/__init__.py index 2a4c038..7f021a3 100644 --- a/__init__.py +++ b/__init__.py @@ -11,6 +11,7 @@ def register(): Pool.register( ir.Sequence, ir.SequencePeriod, + ir.SequenceStrict, module='ir_sequence_period', type_='model') Pool.register( sale.Sale, diff --git a/ir.py b/ir.py index ef63985..36b1143 100644 --- a/ir.py +++ b/ir.py @@ -3,12 +3,12 @@ from itertools import izip from trytond.model import ModelSQL, ModelView, MatchMixin, fields from trytond.pool import PoolMeta, Pool -from trytond.pyson import Eval, And +from trytond.pyson import Eval, And, Bool from trytond.transaction import Transaction from trytond import backend from sql import Literal, For -__all__ = ['Sequence', 'SequencePeriod'] +__all__ = ['Sequence', 'SequencePeriod', 'SequenceStrict'] sql_sequence = backend.get('Database').has_sequence() @@ -224,3 +224,17 @@ class SequencePeriod(ModelSQL, ModelView, MatchMixin): if not date: return False return self.start_date <= date <= self.end_date + + +class SequenceStrict: + __name__ = 'ir.sequence.strict' + __metaclass__ = PoolMeta + + # needed due to both models share form view + periods = fields.Function( + fields.One2Many('ir.sequence.period', None, 'Periods', + states={'invisible': Bool(True)}), + 'get_periods') + + def get_periods(self, name=None): + return []