Skip to content
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

Feature - General - Vista de "Edición rápida" #93

Merged
merged 14 commits into from
Feb 22, 2024

Conversation

jordiSTIC
Copy link
Collaborator

@jordiSTIC jordiSTIC commented Jan 30, 2024

Descripción

En los listados en los subpaneles es posible crear elementos relacionados mediante la vista de "Creación rápida", que se muestra en el propio subpanel.
Pero en cambio, la única opción que exite en SuiteCRM para editar esos mismos elementos es accediendo a la vista de edición del elemento, perdiendo el contexto de los elementos relacionados.

En ciertas ocasiones puede ser útil la "edición rápida" del registro relacionado, de la misma forma que se realiza su "creación rápida", en el propio subpanel de la relación.

Este PR implementa un botón para los listados en subpanel que puede substituir al botón por defecto de editar. Mediante este nuevo botón, se usará la vista de creación rápida para editar el registro en el propio subpanel.

El código de este PR se basa en: https://community.suitecrm.com/t/quickedit-view-does-it-exist/80182/3

También se añade el nuevo botón de edición rápida (quickedit_button) en la edición de subpaneles en estudio, tanto para nuevos módulos como para los existentes. Este nuevo botón, por defecto no está incluido en los subpaneles.

Añadir edición rápida por estudio

En Estudio, editar el subpanel de un módulo. Aparecerá la opción de agregar a Por Defecto el botón quickedit_button:
image

Añadir edición rápida por código

Para añadir el botón de edición rápida por código, en la definición del subpanel de un módulo (modulo/metadata/subpanels/default.php, por defecto), añadir el siguiente código:

    // 'edit_button' => array (
    //   'vname' => 'LBL_EDIT_BUTTON',
    //   'widget_class' => 'SubPanelEditButton',
    //   'module' => '%% MY_MODULE %%',
    //   'width' => '4%',
    //   'default' => true,
    // ),
    'quickedit_button' => array(
        'vname' => 'LBL_QUICKEDIT_BUTTON',
        'widget_class' => 'SubPanelQuickEditButton',
        'module' => '%% MY_MODULE %%',
        'width' => '4%',
        'default' => true,
    ),

Pruebas

  1. Acceder al Estudio. Seleccionar un módulo y editar un subpanel
  2. Verificar que aparece la opción de añadir el botón quickedit_button
  3. Añadir al subpanel el botón quickedit_button, "guardar y desplegar"
  4. Verificar que accediendo a la vista detalle de un registro del módulo editado en estudio, en el subpanel editado:
    1. Aparece el botón de edición rápida
    2. Accionando el botón de edición rápida se edita el registro en la vista de creación rápida en el propio subpanel
    3. Verificar que los datos modificados se guardan correctamente

Pruebas por código

También se puede probar modificando código: editando la definición de un subpanel.
En este caso, se debe editar el fichero con la definición del subpanel del módulo: modules/MÓDULO_DEL_SUBPANEL/metadata/subpanels/default.php (para el subpanel por defecto)
Y substituir el texto SubPanelEditButton por SubPanelQuickEditButton

Para verificar el comportamiento, será necesario Reparar la instancia, acceder a la vista detalle de un módulo que muestre ese subpanel y verificar que la edición se realiza mediante la vista de creación rápida

Copy link

github-actions bot commented Jan 30, 2024

Actions executed at: 2024-02-22 08:58:39.

@jordiSTIC jordiSTIC marked this pull request as ready for review January 30, 2024 12:34
@AlbertoSTIC AlbertoSTIC removed their assignment Feb 5, 2024
@enricsinergia
Copy link
Collaborator

enricsinergia commented Feb 8, 2024

Duda previa: ¿Cómo y por qué se han escogido los módulos escogidos?

Por ejemplo, ¿por qué relación persona sí, pero relación organización no?
¿O por qué se ha dejado fuera sesión, assitencia, oferta, locations, llamadas, notas, tareas?
Hay módulos (encuestas, LPOs, ...) que queda claro que deben entrar en este juego, totalmente cierto. Y algunos como Personas, Organizaciones, Reservas o Recursos que supongo que es por ser los módulos que son que tampoco se han incluído.

Y otra duda:
¿Sería posible hacer que por defecto este fuera el comportamiento o el widget añadido? (o mejor que se puediera configurar en studio)

@jordiSTIC
Copy link
Collaborator Author

Duda previa: ¿Cómo y por qué se han escogido los módulos escogidos?

Por ejemplo, ¿por qué relación persona sí, pero relación organización no? ¿O por qué se ha dejado fuera sesión, assitencia, oferta, locations, llamadas, notas, tareas? Hay módulos (encuestas, LPOs, ...) que queda claro que deben entrar en este juego, totalmente cierto. Y algunos como Personas, Organizaciones, Reservas o Recursos que supongo que es por ser los módulos que son que tampoco se han incluído.

Se ha realizado una primera aproximación únicamente con parte de los subpaneles de Persona que tienen asociada la creación rápida .
El listado de los módulos a los que aplicar esta mejora no se ha analizado en profundidad y está sujeto a propuestas

Y otra duda: ¿Sería posible hacer que por defecto este fuera el comportamiento o el widget añadido? (o mejor que se puediera configurar en studio)

Debería analizarse, y no se había planteado. Podría ser una buena evolución a esta nueva funcionalidad

@enricsinergia
Copy link
Collaborator

Entendido.

Propuesta:

  • Incluir los siguientes módulos: relación con organizaciones, sesión, assitencia, oferta laboral, locations, llamadas, notas, tareas y reuniones
  • Quitar: Valoraciones y Compromisos de Pago
  • A valorar: En el apartado de Productos, Facturas, etc, siguiendo el criterio enunciado a continuación, sólo utilizaría el nuevo widget en Productos (en quotes, invoices y contracts creo que es bueno que se vaya a ver el registro con sus subpaneles).

Criterio usado (a valorar y discutir): Si alguien toca un CdP me interesa que vea los pagos que tiene asociados (quizás hay algún impagado o pago pendiente sobre el que hay que actuar y no lo veré si no voy a la pantalla de CdP). Algo parecido pasa con Valoraciones: normalmente la valoración cobra sentido con los objetivos asociados y por eso prefiero que vayan a la propia Valoración a tocar y no ponérselo fácil para tocar desde otra parte.

Por el resto, la pruebas hechas han ido bien. La única incidencia detectada (#109 ) no es causada por este PR.

Copy link
Collaborator

@juanSTIC juanSTIC left a comment

Choose a reason for hiding this comment

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

En cuanto al funcionamiento no he visto ningún error, pero hago la siguiente apreciación previa a la aprobación:
Como usuario es imprevisible y me resulta algo inquietante :) que el comportamiento sea diferente en unos subpaneles que en otros. Me gusta el cambio y creo que será el modo elegido para modificar datos en muchos casos. Creo que un buen punto de partida sería:

  • habilitar el modo edición en todos los subpaneles (excepto si hay alguna razón técnica para no hacerlo)...
    o
  • añadir algún icono al botón o cambiar el texto a Editar en linea (o similar) para que el usuario conozca lo que va suceder al pulsar el botón.

(creo que me inclino más por la segunda propuesta)

@AlbertoSTIC
Copy link
Collaborator

  • Quitar: Valoraciones y Compromisos de Pago

Criterio usado (a valorar y discutir): Si alguien toca un CdP me interesa que vea los pagos que tiene asociados (quizás hay algún impagado o pago pendiente sobre el que hay que actuar y no lo veré si no voy a la pantalla de CdP). Algo parecido pasa con Valoraciones: normalmente la valoración cobra sentido con los objetivos asociados y por eso prefiero que vayan a la propia Valoración a tocar y no ponérselo fácil para tocar desde otra parte.

Actualmente, si alguien hace click en "Editar" en un CdP del subpanel en Personas, se abrirá directamente la vista de Edición del CdP y no se verán los Pagos asociados a ese CdP. Por lo tanto, si aplicamos esta "Edición rápida" el resultado sería el mismo.

Otro caso es que quitemos la opción de Editar desde el subpanel y obliguemos al Usuario a hacerlo desde su vista de detalle. Esto último de momento no lo haría de momento.

En cuanto al funcionamiento no he visto ningún error, pero hago la siguiente apreciación previa a la aprobación: Como usuario es imprevisible y me resulta algo inquietante :) que el comportamiento sea diferente en unos subpaneles que en otros. Me gusta el cambio y creo que será el modo elegido para modificar datos en muchos casos. Creo que un buen punto de partida sería:

  • habilitar el modo edición en todos los subpaneles (excepto si hay alguna razón técnica para hacerlo)...
    o
  • añadir algún icono al botón o cambiar el texto a Editar en linea (o similar) para que el usuario conozca lo que va suceder al pulsar el botón.

(creo que me inclino más por la segunda propuesta)

Desde la "Edición rápida" el usuario ya tiene una manera de ir al formulario completo:
Selection_149
Por lo tanto yo diría de seguir con la opción 1: Habilitar la edición rápida por defecto en todos los módulos, excepto para aquellos casos que por razones técnicas, no se pueda.

Ahora las dudas serían:

  • ¿Qué pasa con los módulos custom que ya tengan las entidades?
  • ¿Qué pasa con los módulos custom nuevos del constructor?

@jordiSTIC jordiSTIC requested a review from juanSTIC February 21, 2024 10:56
juanSTIC
juanSTIC previously approved these changes Feb 21, 2024
Copy link
Collaborator

@juanSTIC juanSTIC left a comment

Choose a reason for hiding this comment

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

Hechas las pruebas indicadas, además se ha probado el funcionamiento en un nuevo módulo creado con el constructor y fucniona correctamente, lo único reseñable (no me parece suficiente como para no aprobarlo es que no aparece la etiqueta con el nombre del widget en estudio:
image

@jordiSTIC
Copy link
Collaborator Author

Se han añadido las etiquetas correspondientes en las plantillas de nuevos módulos para que aparezcan en el constructor

AlbertoSTIC
AlbertoSTIC previously approved these changes Feb 21, 2024
Copy link
Collaborator

@AlbertoSTIC AlbertoSTIC left a comment

Choose a reason for hiding this comment

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

(A)Probado

Copy link
Collaborator

@enricsinergia enricsinergia left a comment

Choose a reason for hiding this comment

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

(A)provado

@AlbertoSTIC AlbertoSTIC merged commit b2ac20a into develop Feb 22, 2024
1 check passed
@AlbertoSTIC AlbertoSTIC deleted the feature/quickEditButton branch February 22, 2024 08:58
@SinergiaCRM
Copy link
Collaborator

PR en SuitecRM: salesagility#10626

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants