In automated CSV import, update events if they already exist - refs BT#7802

1.9.x
Yannick Warnier 11 years ago
parent 6620d44438
commit c2707ac18e
  1. 40
      main/cron/import_csv.php

@ -803,6 +803,8 @@ class ImportCsv
} }
foreach ($eventsToCreate as $event) { foreach ($eventsToCreate as $event) {
$update = false;
$item = null;
if (!isset($event[$extraFieldName])) { if (!isset($event[$extraFieldName])) {
$this->logger->addInfo( $this->logger->addInfo(
"No external_calendar_itemID found. Skipping ..." "No external_calendar_itemID found. Skipping ..."
@ -810,16 +812,23 @@ class ImportCsv
continue; continue;
} else { } else {
$externalEventId = $event[$extraFieldName]; $externalEventId = $event[$extraFieldName];
if (empty($externalEventId)) {
$this->logger->addInfo(
"external_calendar_itemID was set but empty. Skipping ..."
);
continue;
}
$item = $extraFieldValue->get_item_id_from_field_variable_and_field_value( $item = $extraFieldValue->get_item_id_from_field_variable_and_field_value(
$extraFieldName, $extraFieldName,
$externalEventId $externalEventId
); );
if (!empty($item) || empty($externalEventId)) { if (!empty($item)) {
$this->logger->addInfo( $this->logger->addInfo(
"Event #$externalEventId was already added . Skipping ..." "Event #$externalEventId was already added. Updating ..."
); );
continue; $update = true;
//continue;
} }
} }
@ -849,6 +858,29 @@ class ImportCsv
continue; continue;
} }
if ($update) { //the event already exists, just update
$eventId = $agenda->edit_event(
$item,
$event['start'],
$event['end'],
false,
$event['title'],
$content,
array('everyone'), // send to
array(), //$attachmentArray = array(),
null, //$attachmentComment = null,
$eventComment
);
if ($eventId !== false) {
$this->logger->addInfo(
"Event updated: #$eventId"
);
} else {
$this->logger->addInfo(
"Error while updating event."
);
}
} else { //New event. Create it.
$eventId = $agenda->add_event( $eventId = $agenda->add_event(
$event['start'], $event['start'],
$event['end'], $event['end'],
@ -862,7 +894,6 @@ class ImportCsv
null, //$attachmentComment = null, null, //$attachmentComment = null,
$eventComment $eventComment
); );
if (!empty($eventId)) { if (!empty($eventId)) {
$extraFieldValue->save( $extraFieldValue->save(
array( array(
@ -881,6 +912,7 @@ class ImportCsv
} }
} }
} }
}
if ($moveFile) { if ($moveFile) {
$this->moveFile($file); $this->moveFile($file);

Loading…
Cancel
Save