[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):