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:
@@ -3,12 +3,21 @@
|
|||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
# 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):
|
class MrpProduction(models.Model):
|
||||||
_inherit = 'mrp.production'
|
_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
|
# Method used by the report, inherited in this module
|
||||||
@api.model
|
@api.model
|
||||||
def get_stock_move_sold_out_report(self, move):
|
def get_stock_move_sold_out_report(self, move):
|
||||||
|
|||||||
@@ -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_src_id']" position="replace"/>
|
||||||
<xpath expr="//page[@name='miscellaneous']/group/group/field[@name='location_dest_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="bom_id" position="after">
|
||||||
<field name="location_src_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_dest_id" groups="stock.group_stock_multi_locations" options="{'no_create': True}" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
<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>
|
</field>
|
||||||
<xpath expr="//page[@name='miscellaneous']/group/group/field[@name='date_deadline']" position="after">
|
<xpath expr="//page[@name='miscellaneous']/group/group/field[@name='date_deadline']" position="after">
|
||||||
<field name="date_start"/>
|
<field name="date_start"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user