Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Drupal »

[SOLUCIONADO] Fechas erróneas al insertar un nodo con SERVICES

Estas en el tema de Fechas erróneas al insertar un nodo con SERVICES en el foro de Drupal en Foros del Web. Buenas, llevo unos cuantos días peleándome con esto, y hoy he decidido debugear paso a paso todo el proceso de inserción del nodo, para mi ...
  #1 (permalink)  
Antiguo 06/12/2014, 04:33
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Fechas erróneas al insertar un nodo con SERVICES

Buenas, llevo unos cuantos días peleándome con esto, y hoy he decidido debugear paso a paso todo el proceso de inserción del nodo, para mi sorpresa sucede que si el nodo lo inserto desde SERVICES, la fecha se "rompe", pero primeramente al correr la función date_combo_validate($element, &$form_state) del módulo date (date_elements.inc línea 433), la fecha que recibe es la actual, no la que he insertado en el nodo.


El código json que uso para crear mi nodo (previamente validadado aquí), es este:

Código:
{
   "type":"public_meeting",
   "title":"testing with location",
   "field_public_meeting_description":{
      "und":[
         {
            "value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ",
            "format":null,
            "safe_value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.."
         }
      ]
   },
   "users_fieldset ":{
      "users_flagged_play_with_user ":{
         "iwue":"iwue",
         "admink":"admink"
      },
      "users_flagged_listen_user":{
         "asdaasdasdasd":"asdaasdasdasd",
         "sasdsssssssssd":"sasdsssssssssd"
      }
   },
   "field_calendar":{
      "und":{
         "value":{
            "date":"2016-01-27"
         }
      }
   },
   "field_public_meeting_type":{
      "und":{
         "tid":"220"
      }
   },
   "field_public_meeting_photo":{
      "und":[
         {
            "fid":341
         }
      ]
   },
   "field_public_meeting_location":{
      "und":[
         {
            "street":"avenida andaluc\u00eda",
            "city":"Granada",
            "country":"es",
            "latitude":"37.193343",
            "longitude":"-3.624614"
         }
      ]
   }
}
Eso son datos de ejemplo que cargo, por supuesto serán datos dinámicos que usará la APP.


Y cuando debugeo el hook_node_insert($node) sucede esto (según como ponga la fecha o se rompe el array y desaparece 0, o se muestra la fecha incorrecta y se inserta en la bd como : 0000-01-01T00:00:00 (he adjuntado capturas de todo esto a continuación).



Decir también que llevo muchos días leyendo por aquí y por allá, y he seguido de cabo a rabo este hilo https://www.drupal.org/node/1354202 , pero ninguna de las soluciones propuestas allí solucionan este problema.

Gracias de antemano.







Bueno en la función _node_resource_create($node) del módulo SERVICES, he visto donde se fastidia el valor correcto de la fecha, y es al llamar a drupal_form_submit($node_type . '_node_form', $form_state, (object)$stub_node);


Este es el punto exacto donde cambia la fecha por la actual, la verdad que no me lo explico como puede suceder esto.

__________________
Videotutoriales de Drupal

Última edición por Dundee; 06/12/2014 a las 06:21
  #2 (permalink)  
Antiguo 06/12/2014, 06:28
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: Fechas erróneas al insertar un nodo con SERVICES

Bueno me respondo a mi mismo, casi una semana perdida con este tema, y resulta que al final he encontrado la solución aquí:
https://www.drupal.org/node/2325521

Si formateo la fecha de esta forma , si funciona:

Código:
   "field_calendar":{
      "und":[
         {
            "value":{
               "day":"17",
               "month":"9",
               "year":"2014",
               "hour":"9",
               "minute":"15",
               "ampm":"am"
            }
         }
      ]
   },
Espero que otro no pierdan tanto tiempo como yo y encuentren este hilo, por cierto esto es para DRUPAL 7, no lo he probado en Drupal 6.
__________________
Videotutoriales de Drupal

Etiquetas: nodo, services
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:25.