mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
[IMP] stock_request_analytic: add analytic tags to Stock Requests
TT28488
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_request_analytic
|
||||
# * stock_request_analytic
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@@ -33,6 +33,12 @@ msgstr "Contas Analíticas"
|
||||
msgid "Analytic Count"
|
||||
msgstr "Contagem Analítica"
|
||||
|
||||
#. module: stock_request_analytic
|
||||
#: model:ir.model.fields,field_description:stock_request_analytic.field_stock_request__analytic_tag_ids
|
||||
#: model:ir.model.fields,field_description:stock_request_analytic.field_stock_request_order__analytic_tag_ids
|
||||
msgid "Analytic Tags"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_request_analytic
|
||||
#: model:ir.model,name:stock_request_analytic.model_stock_request
|
||||
#: model_terms:ir.ui.view,arch_db:stock_request_analytic.view_account_analytic_account_form
|
||||
@@ -55,9 +61,11 @@ msgid "Stock Rule"
|
||||
msgstr "Regras de Estoque"
|
||||
|
||||
#. module: stock_request_analytic
|
||||
#: code:addons/stock_request_analytic/models/stock_request.py:19
|
||||
#: code:addons/stock_request_analytic/models/stock_request.py:21
|
||||
#, python-format
|
||||
msgid "You cannot link a analytic account to a stock request that belongs to another company."
|
||||
msgid ""
|
||||
"You cannot link a analytic account to a stock request that belongs to "
|
||||
"another company."
|
||||
msgstr ""
|
||||
"Você não pode vincular uma conta analítica a uma requisição de estoque que "
|
||||
"pertence a outra empresa."
|
||||
|
||||
@@ -30,6 +30,12 @@ msgstr ""
|
||||
msgid "Analytic Count"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_request_analytic
|
||||
#: model:ir.model.fields,field_description:stock_request_analytic.field_stock_request__analytic_tag_ids
|
||||
#: model:ir.model.fields,field_description:stock_request_analytic.field_stock_request_order__analytic_tag_ids
|
||||
msgid "Analytic Tags"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_request_analytic
|
||||
#: model:ir.model,name:stock_request_analytic.model_stock_request
|
||||
#: model_terms:ir.ui.view,arch_db:stock_request_analytic.view_account_analytic_account_form
|
||||
@@ -52,7 +58,7 @@ msgid "Stock Rule"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_request_analytic
|
||||
#: code:addons/stock_request_analytic/models/stock_request.py:19
|
||||
#: code:addons/stock_request_analytic/models/stock_request.py:21
|
||||
#, python-format
|
||||
msgid "You cannot link a analytic account to a stock request that belongs to another company."
|
||||
msgstr ""
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_request_analytic
|
||||
# * stock_request_analytic
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@@ -33,6 +33,12 @@ msgstr "分析账户"
|
||||
msgid "Analytic Count"
|
||||
msgstr "分析数量"
|
||||
|
||||
#. module: stock_request_analytic
|
||||
#: model:ir.model.fields,field_description:stock_request_analytic.field_stock_request__analytic_tag_ids
|
||||
#: model:ir.model.fields,field_description:stock_request_analytic.field_stock_request_order__analytic_tag_ids
|
||||
msgid "Analytic Tags"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_request_analytic
|
||||
#: model:ir.model,name:stock_request_analytic.model_stock_request
|
||||
#: model_terms:ir.ui.view,arch_db:stock_request_analytic.view_account_analytic_account_form
|
||||
@@ -55,7 +61,9 @@ msgid "Stock Rule"
|
||||
msgstr "库存规则"
|
||||
|
||||
#. module: stock_request_analytic
|
||||
#: code:addons/stock_request_analytic/models/stock_request.py:19
|
||||
#: code:addons/stock_request_analytic/models/stock_request.py:21
|
||||
#, python-format
|
||||
msgid "You cannot link a analytic account to a stock request that belongs to another company."
|
||||
msgid ""
|
||||
"You cannot link a analytic account to a stock request that belongs to "
|
||||
"another company."
|
||||
msgstr "您无法将分析帐户链接到属于另一家公司的库存请求。"
|
||||
|
||||
@@ -10,6 +10,8 @@ class StockRequest(models.Model):
|
||||
|
||||
analytic_account_id = fields.Many2one(
|
||||
'account.analytic.account', string='Analytic Account')
|
||||
analytic_tag_ids = fields.Many2many(
|
||||
'account.analytic.tag', string='Analytic Tags')
|
||||
|
||||
@api.constrains('analytic_account_id')
|
||||
def _check_analytic_company_constrains(self):
|
||||
|
||||
@@ -17,12 +17,20 @@ class StockRequestOrder(models.Model):
|
||||
string='Analytic Accounts',
|
||||
readonly=True,
|
||||
)
|
||||
analytic_tag_ids = fields.One2many(
|
||||
comodel_name='account.analytic.tag',
|
||||
compute='_compute_analytic_ids',
|
||||
string='Analytic Tags',
|
||||
readonly=True,
|
||||
)
|
||||
|
||||
@api.depends('stock_request_ids')
|
||||
def _compute_analytic_ids(self):
|
||||
for req in self.sudo():
|
||||
req.analytic_account_ids = req.stock_request_ids.mapped(
|
||||
'analytic_account_id')
|
||||
req.analytic_tag_ids = req.stock_request_ids.mapped(
|
||||
'analytic_tag_ids')
|
||||
req.analytic_count = len(req.analytic_account_ids)
|
||||
|
||||
@api.multi
|
||||
|
||||
@@ -13,7 +13,13 @@ class ProcurementRule(models.Model):
|
||||
product_id, product_qty, product_uom, location_id, name, origin,
|
||||
values, group_id)
|
||||
if values.get('stock_request_id'):
|
||||
analytic_account_id = self.env['stock.request'].browse(
|
||||
values['stock_request_id']).analytic_account_id.id
|
||||
res.update(analytic_account_id=analytic_account_id)
|
||||
stock_request = self.env['stock.request'].browse(
|
||||
values['stock_request_id']
|
||||
)
|
||||
analytic_account = stock_request.analytic_account_id
|
||||
analytic_tags = stock_request.analytic_tag_ids
|
||||
res.update(
|
||||
analytic_account_id=analytic_account.id,
|
||||
analytic_tag_ids=[(4, tag.id) for tag in analytic_tags],
|
||||
)
|
||||
return res
|
||||
|
||||
@@ -42,8 +42,9 @@ class TestStockRequestAnalytic(test_stock_request.TestStockRequest):
|
||||
})
|
||||
self.pizza.route_ids = [(6, 0, self.demand_route.ids)]
|
||||
|
||||
def prepare_order_request_analytic(self, aa, company):
|
||||
def prepare_order_request_analytic(self, aa, company, analytic_tags=None):
|
||||
expected_date = fields.Datetime.now()
|
||||
analytic_tags = analytic_tags or self.env["account.analytic.tag"]
|
||||
vals = {
|
||||
'company_id': company.id,
|
||||
'warehouse_id': self.warehouse.id,
|
||||
@@ -54,6 +55,7 @@ class TestStockRequestAnalytic(test_stock_request.TestStockRequest):
|
||||
'product_uom_id': self.pizza.uom_id.id,
|
||||
'product_uom_qty': 5.0,
|
||||
'analytic_account_id': aa.id,
|
||||
'analytic_tag_ids': [(4, tag.id) for tag in analytic_tags],
|
||||
'company_id': company.id,
|
||||
'warehouse_id': self.warehouse.id,
|
||||
'location_id': self.demand_loc.id,
|
||||
@@ -63,13 +65,16 @@ class TestStockRequestAnalytic(test_stock_request.TestStockRequest):
|
||||
return vals
|
||||
|
||||
def test_stock_analytic(self):
|
||||
analytic_tag = self.env.ref('analytic.tag_contract')
|
||||
vals = self.prepare_order_request_analytic(
|
||||
self.analytic, self.main_company)
|
||||
self.analytic, self.main_company, analytic_tags=analytic_tag)
|
||||
order = self.env['stock.request.order'].create(vals)
|
||||
req = order.stock_request_ids
|
||||
order.action_confirm()
|
||||
self.assertEqual(
|
||||
req.move_ids.mapped('analytic_account_id'), self.analytic)
|
||||
self.assertEqual(
|
||||
req.move_ids.mapped('analytic_tag_ids'), analytic_tag)
|
||||
self.assertEqual(order.analytic_count, 1)
|
||||
action = order.action_view_analytic()
|
||||
self.assertTrue(action['res_id'], self.analytic.id)
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<div name="button_box" position="inside">
|
||||
<field name="analytic_account_ids" invisible="1"/>
|
||||
<field name="analytic_tag_ids" />
|
||||
<button type="object"
|
||||
name="action_view_analytic"
|
||||
class="oe_stat_button"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<field name="procurement_group_id" position="after">
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="analytic_tag_ids" groups="analytic.group_analytic_accounting"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
Reference in New Issue
Block a user