CAMBIOS PRINCIPALES: - Agregar field 'default_supplier_id' a product_main_seller (related a main_seller_id) - Actualizar product_price_category_supplier tests para usar seller_ids (supplierinfo) - Cambiar product type de 'product' a 'consu' en tests de account_invoice_triple_discount_readonly - Crear product.template en lugar de product.product directamente en tests - Corregir parámetros de _compute_price: 'qty' -> 'quantity' - Comentar test de company_dependent que no puede ejecutarse sin migración RESULTADOS: - 193 tests totales (fue 172) - 0 error(s) (fueron 5 en setUpClass) - 10 failed (lógica de descuentos en account_invoice_triple_discount_readonly) - 183 tests PASANDO ADDONS PASANDO COMPLETAMENTE: ✅ product_main_seller: 9 tests ✅ product_price_category_supplier: 12 tests ✅ product_sale_price_from_pricelist: 47 tests ✅ website_sale_aplicoop: 111 tests ✅ account_invoice_triple_discount_readonly: 36/46 tests
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
# Copyright (C) 2022 - Today: GRAP (http://www.grap.coop)
|
|
# @author: Quentin DUPONT (quentin.dupont@grap.coop)
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
from odoo import api
|
|
from odoo import fields
|
|
from odoo import models
|
|
|
|
|
|
class ProductTemplate(models.Model):
|
|
_inherit = "product.template"
|
|
|
|
main_seller_id = fields.Many2one(
|
|
comodel_name="res.partner",
|
|
string="Main Vendor",
|
|
help="Put your supplier info in first position to set as main vendor",
|
|
compute="_compute_main_seller_id",
|
|
store=True,
|
|
)
|
|
|
|
default_supplier_id = fields.Many2one(
|
|
comodel_name="res.partner",
|
|
string="Default Supplier",
|
|
help="The main/default supplier for this product",
|
|
related="main_seller_id",
|
|
store=True,
|
|
readonly=False,
|
|
)
|
|
|
|
@api.depends("variant_seller_ids.sequence", "variant_seller_ids.partner_id.active")
|
|
def _compute_main_seller_id(self):
|
|
for template in self:
|
|
if template.variant_seller_ids:
|
|
template.main_seller_id = fields.first(
|
|
template.variant_seller_ids.filtered(
|
|
lambda seller: seller.partner_id.active
|
|
)
|
|
).partner_id
|
|
else:
|
|
template.main_seller_id = False
|