Add support for filter by location on inventory report and inventory valuation
Refund option enabled by default on Return wizard
This commit is contained in:
2
stock_account_usability/wizard/__init__.py
Normal file
2
stock_account_usability/wizard/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
from . import stock_return_picking
|
||||
from . import stock_quantity_history
|
||||
35
stock_account_usability/wizard/stock_quantity_history.py
Normal file
35
stock_account_usability/wizard/stock_quantity_history.py
Normal file
@@ -0,0 +1,35 @@
|
||||
# Copyright 2019 Akretion France (http://www.akretion.com/)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import models
|
||||
|
||||
|
||||
class StockQuantityHistory(models.TransientModel):
|
||||
_inherit = 'stock.quantity.history'
|
||||
|
||||
def open_table(self):
|
||||
action = super(StockQuantityHistory, self).open_table()
|
||||
if self.location_id and self.env.context.get('valuation'):
|
||||
# When we have 'valuation' in context
|
||||
# in both cases ('current inventory' and 'at specific date')
|
||||
# it returns an action on product.product,
|
||||
# the only difference is the context.
|
||||
# We have to make the same modifications, but
|
||||
# when self.compute_at_date, action['context'] is a dict
|
||||
# otherwize, action['context'] is a string
|
||||
if self.compute_at_date:
|
||||
# insert "location" in context for qty computation
|
||||
action['context']['location'] = self.location_id.id
|
||||
# When company_owned=True, the 'location' given in the
|
||||
# context is not taken into account
|
||||
# IMPORTANT: also requires a patch on the stock_account
|
||||
# module. Patch provided in this module.
|
||||
action['context']['company_owned'] = False
|
||||
else:
|
||||
action['context'] = {
|
||||
'location': self.location_id.id,
|
||||
'create': False,
|
||||
'edit': False,
|
||||
}
|
||||
return action
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2019 Akretion France (http://www.akretion.com/)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
-->
|
||||
|
||||
<odoo>
|
||||
|
||||
|
||||
<record id="view_stock_quantity_history" model="ir.ui.view">
|
||||
<field name="name">stock_account_usability.stock.quantity.history.form</field>
|
||||
<field name="model">stock.quantity.history</field>
|
||||
<field name="inherit_id" ref="stock_account.view_stock_quantity_history"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="date" position="after">
|
||||
<field name="location_id"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</odoo>
|
||||
@@ -1,12 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2019 Akretion France (https://akretion.com/)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import models, fields
|
||||
from odoo import api, models
|
||||
|
||||
|
||||
class StockReturnPickingLine(models.TransientModel):
|
||||
_inherit = 'stock.return.picking.line'
|
||||
class StockReturnPicking(models.TransientModel):
|
||||
_inherit = 'stock.return.picking'
|
||||
|
||||
to_refund = fields.Boolean(default=True)
|
||||
# Set to_refund to True by default
|
||||
@api.model
|
||||
def default_get(self, fields_list):
|
||||
res = super(StockReturnPicking, self).default_get(fields_list)
|
||||
if isinstance(res.get('product_return_moves'), list):
|
||||
for l in res['product_return_moves']:
|
||||
if len(l) == 3 and isinstance(l[2], dict):
|
||||
l[2]['to_refund'] = True
|
||||
return res
|
||||
|
||||
Reference in New Issue
Block a user