Date field is not updating.
AnsweredHi,
I am creating a new item with all his fields filled. All is working but the date field. No error is showed.
This is the part of my code where I create the item fields, could you guide me a bit?
$dateItem = new PodioDateItemField('fecha');
$dateItem->set_value(array('start' => $submission->data[7][0])); //$submission->data[7][0] = 2015-08-17
$fields = new PodioItemFieldCollection(array(
new PodioTextItemField(array("external_id" => "titulo", "values" => $submission->data[1][0])),
new PodioTextItemField(array("external_id" => "empresa", "values" => $submission->data[3][0])),
new PodioTextItemField(array("external_id" => "dni", "values" => $submission->data[4][0])),
new PodioTextItemField(array("external_id" => "numero-de-afiliacion", "values" => $submission->data[5][0])),
$dateItem,
new PodioTextItemField(array("external_id" => "tipo-de-contrato-2", "values" => $cause)),
new PodioTextItemField(array("external_id" => "causa-contrato", "values" => $submission->data[8][0])),
new PodioTextItemField(array("external_id" => "categoria", "values" => $submission->data[9][0])),
new PodioTextItemField(array("external_id" => "horario", "values" => $submission->data[10][0])),
new PodioTextItemField(array("external_id" => "observaciones-y-comentarios", "values" => $submission->data[11][0]))
));
return $fields;
Thanks in advance.
-
Sure. I have removed private data for security reasons.
```function podio_integration_webform_webform_submission_presave($node, &$submission) {
// Get the submission user object.
$user = user_load($submission->uid);include_once DRUPAL_ROOT . '\sites\all\libraries\podio-php-4.2.0\PodioAPI.php';
if ($node->title == "Incidencias de nóminas"){
$fields = makeIncidence($submission);
} else if ($node->title == "Periodos de incapacidad temporal") {
$fields = makeIncapicity($submission);
} else if ($node->title == "Extinción de contrato") {
$fields = makeExtinction($submission);
} else if ($node->title == "Modificación de Jornada") {
$fields = makeModification($submission);
} else if ($node->title == "Prórroga") {
$fields = makeExtension($submission);
} else if ($node->title == "Contratación") {
$fields = makeContract($submission);
}Podio::setup($client_id, $client_secret);
Podio::authenticate_with_app($app_id, $app_token);// Create the item object with fields
// Be sure to add an app or podio-php won't know where to create the item
$item = new PodioItem(array(
'app' => new PodioApp($app_id), // Attach to app with app_id=123
'fields' => $fields
));// Save the new item
$item->save();
}function makeExtinction($submission){
//Cambiar los valores de los campos
if ($submission->data[7][0] == "otras"){
$cause = 5;
} else if ($submission->data[7][0] == "despido"){
$cause = 4;
} else if ($submission->data[7][0] == "noSuperacionPeriodoDePrueba"){
$cause = 3;
} else if ($submission->data[7][0] == "finDeContrato"){
$cause = 2;
} else {
$cause = 1;
}$dateItem = new PodioDateItemField('fecha'); $dateItem->set_value(array('start' => $submission->data[7][0])); $fields = new PodioItemFieldCollection(array( new PodioTextItemField(array("external_id" => "titulo", "values" => $submission->data[1][0])), new PodioTextItemField(array("external_id" => "empresa", "values" => $submission->data[3][0])), new PodioTextItemField(array("external_id" => "dni", "values" => $submission->data[4][0])), new PodioTextItemField(array("external_id" => "numero-de-afiliacion", "values" => $submission->data[5][0])), $dateItem, new PodioTextItemField(array("external_id" => "tipo-de-contrato-2", "values" => $cause)), //causa new PodioTextItemField(array("external_id" => "causa-contrato", "values" => $submission->data[8][0])), //vacaciones pendientes new PodioTextItemField(array("external_id" => "categoria", "values" => $submission->data[9][0])), //conceptos salariales a abonar new PodioTextItemField(array("external_id" => "horario", "values" => $submission->data[10][0])), // ¿Baja médica? new PodioTextItemField(array("external_id" => "observaciones-y-comentarios", "values" => $submission->data[11][0]))
));
return $fields;
}```
-
Rather than using
set_value
, could you try setting the value as described here: http://podio.github.io/podio-php/fields/#date-field
Please sign in to leave a comment.
Comments
6 comments