jueves, 7 de abril de 2016

[Corregido] Call to a member function getPicklistValues() on a non-object in /crm/modules/Users/models/Record.php on line 494

Acabo de encontrarme con este mensaje de error luego de una migración de VTiger de 5.4 a 6.1.

En el foro de VTiger no han dado con una solución satisfactoria, y por algún motivo no tengo privilegios para postear la solución en dicho foro.

Bueno, aquí con la solución.

El problema lo podemos resolver directamente en el archivo ubicado en la ruta:
modules/Users/models/Record.php

Inicialmente, aparece esta código al rededor de la línea 494:

//-----------------------------------------------------------------------------
$hour_format = $fieldModel['hour_format']->getPicklistValues();
$start_hour = $fieldModel['start_hour']->getPicklistValues();

        $defaultValues = array('00:00'=>'12:00 AM','01:00'=>'01:00 AM','02:00'=>'02:00 AM','03:00'=>'03:00 AM','04:00'=>'04:00 AM','05:00'=>'05:00 AM',
                    '06:00'=>'06:00 AM','07:00'=>'07:00 AM','08:00'=>'08:00 AM','09:00'=>'09:00 AM','10:00'=>'10:00 AM','11:00'=>'11:00 AM','12:00'=>'12:00 PM',
                    '13:00'=>'01:00 PM','14:00'=>'02:00 PM','15:00'=>'03:00 PM','16:00'=>'04:00 PM','17:00'=>'05:00 PM','18:00'=>'06:00 PM','19:00'=>'07:00 PM',
                    '20:00'=>'08:00 PM','21:00'=>'09:00 PM','22:00'=>'10:00 PM','23:00'=>'11:00 PM');
//-----------------------------------------------------------------------------

Por algún motivo luego de la migración, no toma el listado por defecto de los Picklist para el listado de los horarios, pero si incluye los valores por defecto una línea más abajo.

Parece algo poco lógico, que hayan colocado los valores por defecto luego, yo simplemente le di el orden que me pareció más acertado.  Por lo tanto lo dejé de la siguiente manera:

//-----------------------------------------------------------------------------
        $defaultValues = array('00:00'=>'12:00 AM','01:00'=>'01:00 AM','02:00'=>'02:00 AM','03:00'=>'03:00 AM','04:00'=>'04:00 AM','05:00'=>'05:00 AM',
                    '06:00'=>'06:00 AM','07:00'=>'07:00 AM','08:00'=>'08:00 AM','09:00'=>'09:00 AM','10:00'=>'10:00 AM','11:00'=>'11:00 AM','12:00'=>'12:00 PM',
                    '13:00'=>'01:00 PM','14:00'=>'02:00 PM','15:00'=>'03:00 PM','16:00'=>'04:00 PM','17:00'=>'05:00 PM','18:00'=>'06:00 PM','19:00'=>'07:00 PM',
                    '20:00'=>'08:00 PM','21:00'=>'09:00 PM','22:00'=>'10:00 PM','23:00'=>'11:00 PM');

$hour_format = $defaultValues;
$start_hour = $defaultValues;
//-----------------------------------------------------------------------------

Y tema solucionado.

No hay comentarios:

Publicar un comentario

7 razones para no usar Laravel en tu proyecto de PHP

En más de 40 años de experiencia como programador y director de proyectos de programación, he aprendido que cada requerimiento tiene mejores...