-
Notifications
You must be signed in to change notification settings - Fork 70
[FIX] sale_ux: default pricelist #1465
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 18.0
Are you sure you want to change the base?
Conversation
95ed9c7 to
915985a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Este PR corrige el comportamiento de asignación de listas de precios predeterminadas al crear partners, evitando que se asigne una lista de precios específica cuando la primera lista de precios en secuencia requiere un país y el partner no tiene país configurado.
- Agrega lógica condicional (
skip_specific) para evitar asignarspecific_property_product_pricelistcuando hay incompatibilidad de requisitos de país - Incluye archivo de configuración de IDE (
.vscode/settings.json) que no debería estar en el repositorio
Reviewed Changes
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| sale_ux/models/res_partner.py | Implementa la lógica de skip_specific para evitar asignar listas de precios incompatibles basadas en requisitos de país |
| sale_ux/.vscode/settings.json | Agrega configuración de IDE que debería excluirse del repositorio mediante .gitignore |
| skip_specific = False | ||
| if pricelist.country_group_ids and not partner.country_id: | ||
| # La primera lista requiere país y el partner no tiene país | ||
| # → Si el default es distinto, NO asignamos specific | ||
| skip_specific = True | ||
|
|
||
| if default_pricelist_id: | ||
| if default_pricelist_id != pricelist.id: | ||
| partner.specific_property_product_pricelist = default_pricelist_id | ||
| if not skip_specific: | ||
| partner.specific_property_product_pricelist = default_pricelist_id | ||
| else: | ||
| partner.specific_property_product_pricelist = None | ||
| else: | ||
| partner.specific_property_product_pricelist = None |
Copilot
AI
Nov 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Se modificó la lógica del método create en models/res_partner.py pero no se incrementó la versión en __manifest__.py. Según las reglas del proyecto, cuando hay cambios en modelos se debe hacer un bump de versión (por ejemplo, de 18.0.1.12.0 a 18.0.1.13.0).
| if pricelist.country_group_ids and not partner.country_id: | ||
| # La primera lista requiere país y el partner no tiene país | ||
| # → Si el default es distinto, NO asignamos specific | ||
| skip_specific = True |
Copilot
AI
Nov 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La condición en la línea 29 no verifica si pricelist está vacío. Si search([], limit=1, order="sequence") no encuentra ninguna lista de precios, pricelist será un recordset vacío y acceder a pricelist.country_group_ids podría resultar en un recordset vacío (que es falsy), evitando el error pero potencialmente ocultando un problema de configuración.
Considera agregar una validación explícita al inicio del bucle:
if not pricelist:
continue # o raise un error apropiado
No description provided.