from odoo import models, fields class StockPicking(models.Model): _inherit = 'stock.picking' fusion_cp_shipment_count = fields.Integer( string='CP Shipments', compute='_compute_fusion_cp_shipment_count', ) def _compute_fusion_cp_shipment_count(self): Shipment = self.env['fusion.cp.shipment'] for picking in self: picking.fusion_cp_shipment_count = Shipment.search_count( [('picking_id', '=', picking.id)] ) def action_view_fusion_cp_shipments(self): self.ensure_one() shipments = self.env['fusion.cp.shipment'].search( [('picking_id', '=', self.id)] ) action = { 'type': 'ir.actions.act_window', 'name': 'Canada Post Shipments', 'res_model': 'fusion.cp.shipment', 'view_mode': 'list,form', 'domain': [('picking_id', '=', self.id)], } if len(shipments) == 1: action['view_mode'] = 'form' action['res_id'] = shipments.id return action