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

Enhancement - Calendario laboral - Añadir nuevo tipo: Anulado #425

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from

Conversation

ManuSinergiaCRM
Copy link
Collaborator

@ManuSinergiaCRM ManuSinergiaCRM commented Oct 7, 2024

Descripción

El PR añade una opción nueva a la lista desplegable relacionada con el campo Tipo de Calendario laboral. Esta opción es de rango horario.

En la vista de edición:

  • En caso de anular un registro de rango horario, la hora de la fecha de inicio y la de finalización no serán modificadas.
  • En caso de anular un registro de todo el día, se configurará la fecha de inicio a las 00:00 y la fecha de finalización a las 00:00 del día siguiente.

Calendario:

  • No se pintan en el calendario
  • No se sincronizan a través de iCal

En las validaciones, los registros anulados no serán tenidos en cuenta

Pruebas

Vista de edición

  1. Crear un registro de Calendario laboral de tipo Laborable y otro de tipo Baja
  2. Anular el registro de tipo laborable y comprobar que se mantienen las fechas de inicio y de finalización
  3. Anular el registro de tipo baja y comprobar que las fechas de inicio y de finalización se configuran a las 00:00 del día actual y del siguiente

Calendario
4. Acceder al calendario y activar la opción de configuración: Ver registros de Calendario laboral
5. Comprobar que no se ve ninguno de los dos registros anteriores
6. Probar a anular más registros o a cambiar el estado de otros ya existentes.

iCal
7. Crear varios registros de tipo laborable.
8. Sincronizar el calendario a través de iCal

a) En local: Ejecutar http://localhost:8000/sinergiacrm/ical_server.php?type=ics&key=qwertyasdfgh&[email protected] para llamar a la función modificada. Poner un punto de parada en las líneas cambiadas y comprobar que se sincronizan todos los registros.

b) En nuestra instancia de SinergiaCRM --> Aplicar el cambio realizado en el fichero modules/iCals/iCal.php a nuestra instancia y probar la sincronización tal y como se explica en el apartado de Pruebas de este PR: #394. Comprobar que se sincronizan todos los registros

  1. Anular algunos de ellos
  2. Volver a sincronizar el calendario a través de iCal y comprobar que se siguen sincronizando todos los registros excepto los anulados.

Validaciones

a) Actualización masiva

  1. Crear varios registros de calendario laboral de tipo laborable para un mismo día
  2. Comprobar que se puede crear un registro de tipo anulado en uno de los días anteriores
  3. Anularlos todos a través de la actualización masiva
  4. Comprobar que se puede crear un registro de tipo Vacaciones o de cualquier otro tipo para esos días, ya sea desde la vista de edición como desde la creación periódica.

b) Calendario laboral - Revisión de los registros del día anterior

  1. Crear un registro de calendario laboral de tipo laborable que no tenga su equivalente en registro horario y anular el registro.
  2. Configurar la tarea programada para que se ejecute en cualquier momento y lanzar el SticCron.php
  3. Comprobar que el registro no es detectado por la acción de validación ya que los registros anulados no son tenidos en cuenta.

c) Registro horario - Revisión de los registros del día anterior

  1. Crear un registro de Registro horario que tenga su "equivalente" en Calendario laboral pero que esté en estado anulado.
  2. Configurar la tarea programada para que se ejecute en cualquier momento y lanzar el SticCron.php
  3. Comprobar que el registro es detectado por la acción de validación ya que los registros anulados no son tenidos en cuenta.

d) Revisión de las horas trabajadas durante la semana anterior

  1. Con los registros de los dos casos anteriores, comprobar que ambos registros no son tenidos en cuenta por la SQL de la acción de validación.

https://github.com/SinergiaTIC/SinergiaCRM/blob/develop/modules/stic_Validation_Actions/DataAnalyzer/Functions/TimeTracker_HoursWorkedInPreviousWeek/CheckHoursWorkedInPreviousWeek.php#L88

Por hacer

  • Añadir operativa a documentación

@ManuSinergiaCRM ManuSinergiaCRM self-assigned this Oct 7, 2024
Copy link

github-actions bot commented Oct 7, 2024

Actions executed at: 2024-10-08 07:39:30.

@enricsinergia
Copy link
Collaborator

Tal como hemos comentado, cuando todos los registros d ela semana están anulados, parece haber un error que hace que no se pinte el calendario

@ManuSinergiaCRM
Copy link
Collaborator Author

Tal como hemos comentado, cuando todos los registros d ela semana están anulados, parece haber un error que hace que no se pinte el calendario

Corregido

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.

Pruebas realizadas en vista calendario, calendario laboral e ics generado. Parece todo correcto.

Tan sólo queda eliminar el trozo de código que ha quedado comentado.

$item['duration_hours'] = floor($totalMinutes / 60);
$item['duration_minutes'] = round($totalMinutes - $item['duration_hours'] * 60);
$item['rendering'] = 'background';
// if ($act->sugar_bean->type == 'canceled' ) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Se ha quedado un trozo de ćodigo comentado

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Corregido

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)probado

Copy link
Collaborator

@ainaraRT ainaraRT 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

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.

Mejora - Calendario laboral - Poder descartar registros obsoletos
3 participants