35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
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
|