From 2c9e58f40d33700ffe529500b07db13791e448da Mon Sep 17 00:00:00 2001 From: David Harper Date: Thu, 4 Jun 2020 11:01:07 +0100 Subject: [PATCH] Rename forecast state from cancel to cancelled issue8927 review323371002 --- CHANGELOG | 2 ++ doc/index.rst | 2 +- forecast.py | 18 +++++++++++++----- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 9a3e00307b..69097f0506 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,5 @@ +* Rename forecast state from cancel to cancelled + Version 5.6.0 - 2020-05-04 * Bug fixes (see mercurial logs for details) diff --git a/doc/index.rst b/doc/index.rst index 725e3adb6a..3a6c4bcdd7 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -46,7 +46,7 @@ Done - Move quantities are bigger or equal to the minimal quantity set on the forecast line. -Cancel +Cancelled On a cancelled forecast all existing moves are cancelled and the form is readonly. diff --git a/forecast.py b/forecast.py index a34c910354..db6d5febb8 100644 --- a/forecast.py +++ b/forecast.py @@ -61,7 +61,7 @@ class Forecast(Workflow, ModelSQL, ModelView): state = fields.Selection([ ('draft', "Draft"), ('done', "Done"), - ('cancel', "Cancel"), + ('cancelled', "Cancelled"), ], "State", readonly=True, select=True) active = fields.Function(fields.Boolean('Active'), 'get_active', searcher='search_active') @@ -75,9 +75,9 @@ class Forecast(Workflow, ModelSQL, ModelView): cls._order.insert(1, ('warehouse', 'ASC')) cls._transitions |= set(( ('draft', 'done'), - ('draft', 'cancel'), + ('draft', 'cancelled'), ('done', 'draft'), - ('cancel', 'draft'), + ('cancelled', 'draft'), )) cls._buttons.update({ 'cancel': { @@ -101,6 +101,9 @@ class Forecast(Workflow, ModelSQL, ModelView): @classmethod def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + sql_table = cls.__table__() + super(Forecast, cls).__register__(module_name) # Add index on create_date @@ -110,6 +113,11 @@ class Forecast(Workflow, ModelSQL, ModelView): # Migration from 5.0: remove check_from_to_date table.drop_constraint('check_from_to_date') + # Migration from 5.6: rename state cancel to cancelled + cursor.execute(*sql_table.update( + [sql_table.state], ['cancelled'], + where=sql_table.state == 'cancel')) + @staticmethod def default_state(): return 'draft' @@ -197,7 +205,7 @@ class Forecast(Workflow, ModelSQL, ModelView): # Cancel before delete cls.cancel(forecasts) for forecast in forecasts: - if forecast.state != 'cancel': + if forecast.state != 'cancelled': raise AccessError( gettext('stock_forecast.msg_forecast_delete_cancel', forecast=forecast.rec_name)) @@ -217,7 +225,7 @@ class Forecast(Workflow, ModelSQL, ModelView): @classmethod @ModelView.button - @Workflow.transition('cancel') + @Workflow.transition('cancelled') def cancel(cls, forecasts): pass