From cd7ce92be91716013dc469b7a8d4002e071ae921 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 3 Jan 2011 12:39:29 +0100 Subject: [PATCH] Remove priority attribute on fields --- CHANGELOG | 1 + doc/ref/models/fields.rst | 8 -------- trytond/model/fields/boolean.py | 12 +++++------- trytond/model/fields/char.py | 13 ++++++------- trytond/model/fields/field.py | 8 +++----- trytond/model/fields/float.py | 9 ++++----- trytond/model/fields/many2many.py | 7 +++---- trytond/model/fields/many2one.py | 9 ++++----- trytond/model/fields/one2many.py | 9 ++++----- trytond/model/fields/reference.py | 9 ++++----- trytond/model/fields/selection.py | 9 ++++----- trytond/model/modelsql.py | 4 ---- 12 files changed, 38 insertions(+), 60 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 997de0cb8a..1813d8a635 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Remove priority attribute on fields * Model doesn't convert anymore ids for inherited methods * Remove required attribute on Boolean fields * Add One2One field diff --git a/doc/ref/models/fields.rst b/doc/ref/models/fields.rst index 5171e192ff..2b99715897 100644 --- a/doc/ref/models/fields.rst +++ b/doc/ref/models/fields.rst @@ -65,14 +65,6 @@ one. Possible keys are ``required``, ``readonly`` and ``invisible``. The values are :class:`~trytond.pyson.PYSON` statements that will be evaluated with the values of the record. -``priority`` ------------- - -.. attribute:: Field.priority - -Give the order in which setter methods (if exist) are called on a model. -Default is 0. Lower priority called first. - ``change_default`` ------------------ diff --git a/trytond/model/fields/boolean.py b/trytond/model/fields/boolean.py index 5b0fc70a56..6defcb7164 100644 --- a/trytond/model/fields/boolean.py +++ b/trytond/model/fields/boolean.py @@ -11,14 +11,12 @@ class Boolean(Field): _type = 'boolean' def __init__(self, string='', help='', readonly=False, domain=None, - states=None, priority=0, change_default=False, select=0, - on_change=None, on_change_with=None, depends=None, - order_field=None, context=None): + states=None, change_default=False, select=0, on_change=None, + on_change_with=None, depends=None, order_field=None, context=None): super(Boolean, self).__init__(string=string, help=help, required=False, readonly=readonly, domain=domain, states=states, - priority=priority, change_default=change_default, - select=select, on_change=on_change, - on_change_with=on_change_with, depends=depends, - order_field=order_field, context=context) + change_default=change_default, select=select, + on_change=on_change, on_change_with=on_change_with, + depends=depends, order_field=order_field, context=context) __init__.__doc__ = Field.__init__.__doc__ diff --git a/trytond/model/fields/char.py b/trytond/model/fields/char.py index 1948b6bcd9..db043b6b87 100644 --- a/trytond/model/fields/char.py +++ b/trytond/model/fields/char.py @@ -11,19 +11,18 @@ class Char(Field): _type = 'char' def __init__(self, string='', size=None, help='', required=False, - readonly=False, domain=None, states=None, priority=0, - change_default=False, translate=False, select=0, on_change=None, - on_change_with=None, depends=None, order_field=None, context=None): + readonly=False, domain=None, states=None, change_default=False, + translate=False, select=0, on_change=None, on_change_with=None, + depends=None, order_field=None, context=None): ''' :param translate: A boolean. If ``True`` the field is translatable. :param size: A integer. If set defines the maximum size of the values. ''' super(Char, self).__init__(string=string, help=help, required=required, readonly=readonly, domain=domain, states=states, - priority=priority, change_default=change_default, - select=select, on_change=on_change, - on_change_with=on_change_with, depends=depends, - order_field=order_field, context=context) + change_default=change_default, select=select, + on_change=on_change, on_change_with=on_change_with, + depends=depends, order_field=order_field, context=context) self.translate = translate self.size = size __init__.__doc__ += Field.__init__.__doc__ diff --git a/trytond/model/fields/field.py b/trytond/model/fields/field.py index 83233e4058..2df92ecf88 100644 --- a/trytond/model/fields/field.py +++ b/trytond/model/fields/field.py @@ -53,9 +53,9 @@ class Field(object): _type = None def __init__(self, string='', help='', required=False, readonly=False, - domain=None, states=None, priority=0, change_default=False, - select=0, on_change=None, on_change_with=None, - depends=None, order_field=None, context=None): + domain=None, states=None, change_default=False, select=0, + on_change=None, on_change_with=None, depends=None, + order_field=None, context=None): ''' :param string: A string for label of the field. :param help: A multi-line help string. @@ -67,7 +67,6 @@ class Field(object): ``readonly`` and ``invisible``. Values are pyson expressions that will be evaluated with record values. This allows to change dynamically the attributes of the field. - :param priority: Give the order in which setter methods are called. :param change_default: A boolean. If ``True`` the field can be used as condition for a custom default value. :param select: An integer. When equal to ``1``, the field appears in the @@ -95,7 +94,6 @@ class Field(object): self.domain = domain or [] self.__states = None self.states = states or {} - self.priority = priority self.change_default = change_default self.select = select self.__on_change = None diff --git a/trytond/model/fields/float.py b/trytond/model/fields/float.py index 1fba8d80de..fa2941a837 100644 --- a/trytond/model/fields/float.py +++ b/trytond/model/fields/float.py @@ -22,17 +22,16 @@ class Float(Field): _type = 'float' def __init__(self, string='', digits=None, help='', required=False, - readonly=False, domain=None, states=None, priority=0, - change_default=False, select=0, on_change=None, - on_change_with=None, depends=None, order_field=None, context=None): + readonly=False, domain=None, states=None, change_default=False, + select=0, on_change=None, on_change_with=None, depends=None, + order_field=None, context=None): ''' :param digits: a list of two integers defining the total of digits and the number of decimals of the float. ''' super(Float, self).__init__(string=string, help=help, required=required, readonly=readonly, domain=domain, - states=states, priority=priority, - change_default=change_default, select=select, + states=states, change_default=change_default, select=select, on_change=on_change, on_change_with=on_change_with, depends=depends, order_field=order_field, context=context) self.__digits = None diff --git a/trytond/model/fields/many2many.py b/trytond/model/fields/many2many.py index c5c07dae65..3735e7c8d9 100644 --- a/trytond/model/fields/many2many.py +++ b/trytond/model/fields/many2many.py @@ -13,8 +13,8 @@ class Many2Many(Field): def __init__(self, relation_name, origin, target, string='', order=None, datetime_field=None, help='', required=False, readonly=False, - domain=None, states=None, priority=0, change_default=False, - select=0, on_change=None, on_change_with=None, depends=None, + domain=None, states=None, change_default=False, select=0, + on_change=None, on_change_with=None, depends=None, order_field=None, context=None): ''' :param relation_name: The name of the relation model @@ -34,8 +34,7 @@ class Many2Many(Field): depends = [datetime_field] super(Many2Many, self).__init__(string=string, help=help, required=required, readonly=readonly, domain=domain, - states=states, priority=priority, - change_default=change_default, select=select, + states=states, change_default=change_default, select=select, on_change=on_change, on_change_with=on_change_with, depends=depends, order_field=order_field, context=context) self.relation_name = relation_name diff --git a/trytond/model/fields/many2one.py b/trytond/model/fields/many2one.py index fa3a7505d1..c03c19e7dd 100644 --- a/trytond/model/fields/many2one.py +++ b/trytond/model/fields/many2one.py @@ -12,9 +12,9 @@ class Many2One(Field): def __init__(self, model_name, string='', left=None, right=None, ondelete='SET NULL', datetime_field=None, help='', required=False, - readonly=False, domain=None, states=None, priority=0, - change_default=False, select=0, on_change=None, - on_change_with=None, depends=None, order_field=None, context=None): + readonly=False, domain=None, states=None, change_default=False, + select=0, on_change=None, on_change_with=None, depends=None, + order_field=None, context=None): ''' :param model_name: The name of the target model. :param left: The name of the field to store the left value for @@ -38,8 +38,7 @@ class Many2One(Field): depends = [datetime_field] super(Many2One, self).__init__(string=string, help=help, required=required, readonly=readonly, domain=domain, - states=states, priority=priority, - change_default=change_default, select=select, + states=states, change_default=change_default, select=select, on_change=on_change, on_change_with=on_change_with, depends=depends, order_field=order_field, context=context) self.model_name = model_name diff --git a/trytond/model/fields/one2many.py b/trytond/model/fields/one2many.py index bde2f1d35a..9fe950d28b 100644 --- a/trytond/model/fields/one2many.py +++ b/trytond/model/fields/one2many.py @@ -17,9 +17,9 @@ class One2Many(Field): def __init__(self, model_name, field, string='', add_remove=None, order=None, datetime_field=None, help='', required=False, - readonly=False, domain=None, states=None, priority=0, - change_default=False, select=0, on_change=None, - on_change_with=None, depends=None, order_field=None, context=None): + readonly=False, domain=None, states=None, change_default=False, + select=0, on_change=None, on_change_with=None, depends=None, + order_field=None, context=None): ''' :param model_name: The name of the target model. :param field: The name of the field that handle the reverse many2one. @@ -38,8 +38,7 @@ class One2Many(Field): depends = [datetime_field] super(One2Many, self).__init__(string=string, help=help, required=required, readonly=readonly, domain=domain, - states=states, priority=priority, - change_default=change_default, select=select, + states=states, change_default=change_default, select=select, on_change=on_change, on_change_with=on_change_with, depends=depends, order_field=order_field, context=context) self.model_name = model_name diff --git a/trytond/model/fields/reference.py b/trytond/model/fields/reference.py index ea6dcb09b1..20f317fcc8 100644 --- a/trytond/model/fields/reference.py +++ b/trytond/model/fields/reference.py @@ -14,9 +14,9 @@ class Reference(Field): _type = 'reference' def __init__(self, string='', selection=None, help='', required=False, - readonly=False, domain=None, states=None, priority=0, - change_default=False, select=0, on_change=None, - on_change_with=None, depends=None, order_field=None, context=None): + readonly=False, domain=None, states=None, change_default=False, + select=0, on_change=None, on_change_with=None, depends=None, + order_field=None, context=None): ''' :param selection: A list or a function name that returns a list. The list must be a list of tuples. First member is an internal name @@ -24,8 +24,7 @@ class Reference(Field): ''' super(Reference, self).__init__(string=string, help=help, required=required, readonly=readonly, domain=domain, - states=states, priority=priority, - change_default=change_default, select=select, + states=states, change_default=change_default, select=select, on_change=on_change, on_change_with=on_change_with, depends=depends, order_field=order_field, context=context) self.selection = selection or None diff --git a/trytond/model/fields/selection.py b/trytond/model/fields/selection.py index 1b4ffd11c8..a174fd5b0c 100644 --- a/trytond/model/fields/selection.py +++ b/trytond/model/fields/selection.py @@ -12,7 +12,7 @@ class Selection(Field): def __init__(self, selection, string='', sort=True, translate=True, help='', required=False, readonly=False, domain=None, states=None, - priority=0, change_default=False, select=0, on_change=None, + change_default=False, select=0, on_change=None, on_change_with=None, depends=None, order_field=None, context=None): ''' :param selection: A list or a function name that returns a list. @@ -22,10 +22,9 @@ class Selection(Field): ''' super(Selection, self).__init__(string=string, help=help, required=required, readonly=readonly, domain=domain, - states=states, priority=priority, change_default=change_default, - select=select, on_change=on_change, - on_change_with=on_change_with, depends=depends, - order_field=order_field, context=context) + states=states, change_default=change_default, select=select, + on_change=on_change, on_change_with=on_change_with, + depends=depends, order_field=order_field, context=context) if hasattr(selection, 'copy'): self.selection = selection.copy() else: diff --git a/trytond/model/modelsql.py b/trytond/model/modelsql.py index f741e563bf..92e47a686b 100644 --- a/trytond/model/modelsql.py +++ b/trytond/model/modelsql.py @@ -391,8 +391,6 @@ class ModelSQL(ModelStorage): self._name + ',' + field, 'model', Transaction().language, [id_new], values[field]) - upd_todo.sort(lambda x, y: self._columns[x].priority - \ - self._columns[y].priority) for field in upd_todo: self._columns[field].set([id_new], self, field, values[field]) @@ -898,8 +896,6 @@ class ModelSQL(ModelStorage): Transaction().language, ids, values[field]) # call the 'set' method of fields - upd_todo.sort(lambda x, y: self._columns[x].priority - \ - self._columns[y].priority) for field in upd_todo: self._columns[field].set(ids, self, field, values[field])