diff --git a/doc/migration.rst b/doc/migration.rst index 85ea9a1453..3a4b22e5aa 100644 --- a/doc/migration.rst +++ b/doc/migration.rst @@ -17,6 +17,18 @@ a database from another series. 7.8 --- +Before +~~~~~~ + +* If ``carrier_carriage`` module is activated, remove ``NOT NULL`` to + ``before_carrier`` and ``after_carrier``: + + .. code-block:: SQL + + ALTER TABLE "incoterm_incoterm" ALTER COLUMN "before_carrier" DROP NOT NULL; + ALTER TABLE "incoterm_incoterm" ALTER COLUMN "after_carrier" DROP NOT NULL; + + After ~~~~~ diff --git a/modules/carrier_carriage/incoterm.py b/modules/carrier_carriage/incoterm.py index 9f9a22428d..1356677009 100644 --- a/modules/carrier_carriage/incoterm.py +++ b/modules/carrier_carriage/incoterm.py @@ -11,10 +11,19 @@ class Incoterm(metaclass=PoolMeta): before_carrier = fields.Selection([ ('buyer', "Buyer"), ('seller', "Seller"), - ], "Before Carrier", required=True, + ], "Before Carrier", help="Who contracts carriages before main carriage.") after_carrier = fields.Selection([ ('buyer', "Buyer"), ('seller', "Seller"), - ], "After Carrier", required=True, + ], "After Carrier", help="Who contracts carriages after main carriage.") + + @classmethod + def __register__(cls, module_name): + table_h = cls.__table_handler__(module_name) + super().__register__(module_name) + # Migration from 7.6: remove required on before/after_carrier + # to permit to create new incoterm in incoterm module + table_h.not_null_action('before_carrier', 'remove') + table_h.not_null_action('after_carrier', 'remove')