# Copyright 2018 Creu Blanca
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).

from odoo import api, fields, models


class StockRequestOrder(models.Model):
    _inherit = 'stock.request.order'

    analytic_count = fields.Integer(
        compute='_compute_analytic_ids',
        readonly=True,
    )
    analytic_account_ids = fields.One2many(
        comodel_name='account.analytic.account',
        compute='_compute_analytic_ids',
        string='Analytic Accounts',
        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_count = len(req.analytic_account_ids)

    @api.multi
    def action_view_analytic(self):
        action = self.env.ref(
            'analytic.action_account_analytic_account_form').read()[0]
        analytics = self.mapped('analytic_account_ids')
        if len(analytics) > 1:
            action['domain'] = [('id', 'in', analytics.ids)]
        elif analytics:
            action['views'] = [
                (self.env.ref(
                    'analytic.action_account_analytic_account_form').id,
                    'form')]
            action['res_id'] = analytics.id
        return action
