[11.0] stock_request_analytic:

* clean views.
 * allow to create a stock.request with no analytic account.
 * remove copy attribute in non-stored field.
 * remove non-existing field from compute method.
This commit is contained in:
Lois Rilo
2019-01-03 17:48:29 +01:00
committed by OCA-git-bot
parent 8108058ecc
commit 02199924f3
5 changed files with 19 additions and 19 deletions

View File

@@ -12,7 +12,8 @@ class ProcurementRule(models.Model):
res = super(ProcurementRule, self)._get_stock_move_values(
product_id, product_qty, product_uom, location_id, name, origin,
values, group_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)
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)
return res

View File

@@ -13,9 +13,8 @@ class StockRequest(models.Model):
@api.constrains('analytic_account_id')
def _check_analytic_company_constrains(self):
if any(request.company_id and
request.analytic_account_id.company_id !=
request.company_id for request in self):
if any(r.company_id and r.analytic_account_id and
r.analytic_account_id.company_id != r.company_id for r in self):
raise ValidationError(
_('You cannot link a analytic account '
'to a stock request that belongs to '

View File

@@ -7,23 +7,23 @@ from odoo import api, fields, models
class StockRequestOrder(models.Model):
_inherit = 'stock.request.order'
analytic_count = fields.Integer(string='analytic count',
compute='_compute_analytic_ids',
readonly=True)
analytic_count = fields.Integer(
compute='_compute_analytic_ids',
readonly=True,
)
analytic_account_ids = fields.One2many(
'account.analytic.account',
comodel_name='account.analytic.account',
compute='_compute_analytic_ids',
string='Analytic Accounts',
readonly=True, copy=False)
readonly=True,
)
@api.depends('stock_request_ids')
def _compute_analytic_ids(self):
for req in self.sudo():
req.analytic_ids = req.stock_request_ids.mapped(
'analytic_account_id')
req.analytic_account_ids = req.stock_request_ids.mapped(
'analytic_account_id')
req.analytic_count = len(req.analytic_ids)
req.analytic_count = len(req.analytic_account_ids)
@api.multi
def action_view_analytic(self):

View File

@@ -4,7 +4,7 @@
<odoo>
<record id="stock_request_order_form" model="ir.ui.view">
<field name="name">stock.request.order.form</field>
<field name="name">stock.request.order.form - stock_request_analytic</field>
<field name="model">stock.request.order</field>
<field name="inherit_id" ref="stock_request.stock_request_order_form"/>
<field name="arch" type="xml">
@@ -13,14 +13,14 @@
<button type="object"
name="action_view_analytic"
class="oe_stat_button"
icon="fa-truck"
icon="fa-list"
attrs="{'invisible': [('analytic_count', '=', 0)]}"
groups="analytic.group_analytic_accounting">
<field name="analytic_count" widget="statinfo"
string="analytic"/>
string="Analytic Accounts"/>
</button>
</div>
<xpath expr="//sheet/notebook/page/field[@name='stock_request_ids']/tree//field[@name='route_id']" position="after">
<xpath expr="//field[@name='stock_request_ids']/tree//field[@name='route_id']" position="after">
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
</xpath>
</field>

View File

@@ -9,7 +9,7 @@
<field name="inherit_id" ref="stock_request.view_stock_request_form"/>
<field name="arch" type="xml">
<field name="procurement_group_id" position="after">
<field name="analytic_account_id"/>
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
</field>
</field>
</record>