Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/12/2014, 04:33
Avatar de Dundee
Dundee
 
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 5 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