Skip to content

[FIX] partner_state: keep standard fields in the chatter - #153

Closed
ced-adhoc wants to merge 1 commit into
ingadhoc:18.0from
adhoc-dev:18.0-h-126800-ced
Closed

ced-adhoc wants to merge 1 commit into
ingadhoc:18.0from
adhoc-dev:18.0-h-126800-ced

Conversation

@ced-adhoc

@ced-adhoc ced-adhoc commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Ticket: https://www.adhoc.inc/odoo/helpdesk.ticket/126800

Qué cambia

  • _track_get_fields: arranca de lo que Odoo registra por defecto y suma los campos con Cambios? (filtrados con fields_get(), como hace mail). Nunca saca un campo estándar.
  • Se quita el override de _message_track. Desde [FIX]partner_state: log to chatter fields marked with changes=True #144 dejaba pasar al chatter solo los campos con Cambios?, así que una base sin líneas en Campos de Estados no registraba ningún cambio de contactos.
  • Pantalla de Campos de Estados: la columna Cambios? muestra un campo calculado (chatter_tracking). Si el campo elegido tiene seguimiento nativo (ir.model.fields.tracking), aparece tildado y de solo lectura. En los demás campos lee y escribe changes, como antes. Las líneas existentes se ven bien sin script de migración.
  • Traducción al español de la columna y del texto de ayuda.
  • README: explica las opciones de Campos de Estados y lista los campos que Odoo registra por defecto en contactos. Corrige la ruta del menú (está en Contactos > Configuración).

El paso a Potencial (Seguir?) no cambia: lo maneja write() con check_fields("track").

Cómo se probó

  • tests/test_partner_state_tracking.py: sin líneas se registra un campo estándar; con Cambios? se registra un campo que Odoo no registra y un contacto aprobado sigue aprobado; sin Cambios? un campo estándar se sigue registrando; la columna queda tildada en un campo estándar y escribe changes en otro.
  • En rojo, rompiendo de a una cosa: con el seguimiento de 18.0 actual fallan los tres casos del chatter; si Cambios? devuelve a Potencial falla el caso del aprobado; sin el inverso de la columna, o sin el seguimiento nativo en su cálculo, falla el caso que corresponde.
  • Suite del módulo en una base local con demo data: 0 failed, 0 error(s) of 6 tests, sin warnings.
  • Navegador (Playwright, base local 18.0 en español): la columna se llama "Cambios?", en "Nombre" está tildada y fija, en "Activo" es editable; al agregar Vendedor queda fija y tildada; al agregar Referencia se puede destildar y se guarda con changes = False; cambiar el email de un contacto deja registro en el chatter. Sin errores de consola, JS ni HTTP.

19.0

El forward-port va a tener conflicto en _track_get_fields, porque en 19.0 el método es distinto (no tiene _message_track). Al resolverlo conviene limpiar el write() de 19.0, que arma initial_values y state_fields_to_track sin usarlos.

Copilot AI balanced review requested due to automatic review settings October 16, 2026 15:17
@roboadhoc

Copy link
Copy Markdown

Pull request status dashboard

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Es necesario preservar el filtrado por permisos para evitar errores de acceso al guardar contactos.

1 open finding
What changed in this PR

Restablece el seguimiento estándar de contactos en el chatter y permite añadir campos desde Campos de Estados.

Cambios:

  • Conserva los campos registrados por Odoo y elimina el filtro de _message_track.
  • Muestra «Cambios?» calculado y de solo lectura para campos con seguimiento nativo.
  • Añade pruebas de regresión y traducciones al español.
File Description
partner_state/​views/​res_partner_state_field_views.xml Presenta la columna calculada con edición condicionada.
partner_state/​tests/​test_partner_state_tracking.py Comprueba seguimiento estándar, adicional y columna calculada.
partner_state/​tests/​__init__.py Registra las nuevas pruebas.
partner_state/​models/​res_partner.py Combina seguimiento estándar y configurado.
partner_state/​models/​res_partner_state_field.py Calcula el seguimiento visible y gestiona su edición.
partner_state/​i18n/​es.po Traduce la columna y su ayuda.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread partner_state/models/res_partner.py Resolved
@ced-adhoc
ced-adhoc force-pushed the 18.0-h-126800-ced branch 2 times, most recently from b9e5314 to f0576b9 Compare October 19, 2026 12:36
"Changes?" now only adds fields to the chatter. Fields that Odoo tracks
by default are always tracked, with or without lines in Partner State
Fields. Before, the _message_track override only logged the fields with
"Changes?", so a database without lines logged no partner change.

The "Changes?" column now shows a computed field: it is checked and read
only for fields with native tracking, and it writes the stored value for
the other fields. Existing lines show the right value without a migration.

The README explains the options of Partner State Fields and lists the
fields that Odoo tracks on contacts by default.
@ced-adhoc ced-adhoc changed the title [WIP] [FIX] partner_state: keep standard fields in the chatter [FIX] partner_state: keep standard fields in the chatter Oct 19, 2026
@mav-adhoc

Copy link
Copy Markdown
Contributor

@roboadhoc r+ bump

roboadhoc pushed a commit that referenced this pull request Oct 20, 2026
"Changes?" now only adds fields to the chatter. Fields that Odoo tracks
by default are always tracked, with or without lines in Partner State
Fields. Before, the _message_track override only logged the fields with
"Changes?", so a database without lines logged no partner change.

The "Changes?" column now shows a computed field: it is checked and read
only for fields with native tracking, and it writes the stored value for
the other fields. Existing lines show the right value without a migration.

The README explains the options of Partner State Fields and lists the
fields that Odoo tracks on contacts by default.

closes #153

Signed-off-by: Matias Velazquez <mav@adhoc.com.ar>
roboadhoc added a commit that referenced this pull request Oct 20, 2026
@roboadhoc roboadhoc closed this Oct 20, 2026
@roboadhoc
roboadhoc deleted the 18.0-h-126800-ced branch October 20, 2026 13:55

This branch was previously deployed

1 inactive deployment
merge — 2f3dc179 Deployed Oct 20, 2026 by roboadhoc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants