mrp_usability: Allow to change the destination location until 'Mark as done'

Native behavior: it is only possible to change the destination stock
location of a production order in draft state.
This commit is contained in:
Alexis de Lattre
2024-04-04 16:50:52 +02:00
parent 569b3fea1a
commit 901a0e5816
2 changed files with 13 additions and 3 deletions

View File

@@ -3,12 +3,21 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, models
from odoo import api, fields, models
class MrpProduction(models.Model):
_inherit = 'mrp.production'
# Allow to change the destination location until 'Mark as done'.
# Native behavior: it is only possible to change it in draft state.
location_dest_id = fields.Many2one(states={
'draft': [('readonly', False)], # native
'confirmed': [('readonly', False)], # added
'progress': [('readonly', False)], # added
'to_close': [('readonly', False)], # added
}, tracking=True)
# Method used by the report, inherited in this module
@api.model
def get_stock_move_sold_out_report(self, move):

View File

@@ -16,8 +16,9 @@
<xpath expr="//page[@name='miscellaneous']/group/group/field[@name='location_src_id']" position="replace"/>
<xpath expr="//page[@name='miscellaneous']/group/group/field[@name='location_dest_id']" position="replace"/>
<field name="bom_id" position="after">
<field name="location_src_id" groups="stock.group_stock_multi_locations" options="{'no_create': True}" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
<field name="location_dest_id" groups="stock.group_stock_multi_locations" options="{'no_create': True}" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
<!-- no need to set readonly via attrs, the readonly status is in the field definition -->
<field name="location_src_id" groups="stock.group_stock_multi_locations" options="{'no_create': True}" />
<field name="location_dest_id" groups="stock.group_stock_multi_locations" options="{'no_create': True}"/>
</field>
<xpath expr="//page[@name='miscellaneous']/group/group/field[@name='date_deadline']" position="after">
<field name="date_start"/>