diff --git a/mo_back_to_draft/__init__.py b/mo_back_to_draft/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/mo_back_to_draft/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/mo_back_to_draft/__manifest__.py b/mo_back_to_draft/__manifest__.py new file mode 100644 index 0000000..c358f77 --- /dev/null +++ b/mo_back_to_draft/__manifest__.py @@ -0,0 +1,33 @@ +# +# Bemade Inc. +# +# Copyright (C) 2023-June Bemade Inc. (). +# Author: Marc Durepos (Contact : marc@bemade.org) +# +# This program is under the terms of the GNU Lesser General Public License, +# version 3. +# +# For full license details, see https://www.gnu.org/licenses/lgpl-3.0.en.html. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +{ + 'name': 'MO Back to Draft', + 'version': '17.0.1.0.0', + 'summary': 'Allow putting an MO back to draft state', + 'category': 'Manufacturing/Manufacturing', + 'author': 'Bemade Inc.', + 'website': 'http://www.bemade.org', + 'license': 'LGPL-3', + 'depends': ['mrp'], + 'data': ['views/mrp_production_views.xml'], + 'assets': {}, + 'installable': True, + 'auto_install': False +} diff --git a/mo_back_to_draft/models/__init__.py b/mo_back_to_draft/models/__init__.py new file mode 100644 index 0000000..a9e5f13 --- /dev/null +++ b/mo_back_to_draft/models/__init__.py @@ -0,0 +1 @@ +from . import mrp_production diff --git a/mo_back_to_draft/models/mrp_production.py b/mo_back_to_draft/models/mrp_production.py new file mode 100644 index 0000000..a6f62a0 --- /dev/null +++ b/mo_back_to_draft/models/mrp_production.py @@ -0,0 +1,16 @@ +from odoo import models, fields, _ +from odoo.exceptions import UserError + + +class MrpProduction(models.Model): + _inherit = "mrp.production" + + def action_back_to_draft(self): + self.ensure_one() + if self.state != 'cancel': + raise UserError(_( + 'Only manufacturing orders in confirmed ' + 'state can be set back to draft.' + )) + self.state = False + return True diff --git a/mo_back_to_draft/views/mrp_production_views.xml b/mo_back_to_draft/views/mrp_production_views.xml new file mode 100644 index 0000000..caf760a --- /dev/null +++ b/mo_back_to_draft/views/mrp_production_views.xml @@ -0,0 +1,16 @@ + + + + mrp.production.view.form.inherit + + mrp.production + +
+
+
+
+
\ No newline at end of file