Files
Odoo-Modules/fusion_inventory/models/res_partner.py
gsinghpal e9cf75ee48 changes
2026-03-14 12:04:20 -04:00

61 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
# Copyright 2026 Nexa Systems Inc.
# License OPL-1 (Odoo Proprietary License v1.0)
from odoo import models, fields, api
class ResPartner(models.Model):
_inherit = 'res.partner'
brand_ids = fields.One2many(
'product.brand', 'partner_id', string='Brands')
brand_count = fields.Integer(
string='Brands', compute='_compute_brand_count')
def _compute_brand_count(self):
for partner in self:
partner.brand_count = len(partner.brand_ids)
def action_view_brands(self):
self.ensure_one()
brands = self.brand_ids
if len(brands) == 1:
return {
'type': 'ir.actions.act_window',
'res_model': 'product.brand',
'res_id': brands.id,
'view_mode': 'form',
}
return {
'type': 'ir.actions.act_window',
'name': f'Brands: {self.name}',
'res_model': 'product.brand',
'view_mode': 'list,form',
'domain': [('partner_id', '=', self.id)],
'context': {'default_partner_id': self.id},
}
def action_create_brand(self):
self.ensure_one()
existing = self.env['product.brand'].search(
[('partner_id', '=', self.id)], limit=1)
if existing:
return {
'type': 'ir.actions.act_window',
'res_model': 'product.brand',
'res_id': existing.id,
'view_mode': 'form',
}
brand = self.env['product.brand'].create({
'name': self.name,
'partner_id': self.id,
'logo': self.image_128 or False,
})
return {
'type': 'ir.actions.act_window',
'res_model': 'product.brand',
'res_id': brand.id,
'view_mode': 'form',
}