Is there a way to sync in one direction with the GoogleAPI? As in Google only pulls information from SuiteCRM and cannot post information back. I am trying to make appointments for employees that they cannot modify. I have already changed their permissions in the group settings to view only. They cannot change their meetings in SuiteCRM, but they can from Google Calander. I would use the ICal feature however it only syncs ever 24 hours, which is to slow for me.
I changed the following, pull_delete, pull. In the pull_delete it just recreates the events and assigns it a new gysnc_id.
/include/GoogleSync/GoogleSync.php
protected function doAction($action, Meeting $meeting = null, Google_Service_Calendar_Event $event = null)
{
$title = $this->getTitle($meeting, $event);
switch ($action) {
case "push":
$this->logger->info(__FILE__ . ':' . __LINE__ . ' ' . __METHOD__ . ' - ' . 'Pushing Record: ' . $title);
$ret = $this->pushEvent($meeting, $event);
break;
case "pull":
$this->logger->info(__FILE__ . ':' . __LINE__ . ' ' . __METHOD__ . ' - ' . 'Pushing Record: ' . $title);
$ret = $this->pushEvent($meeting, $event);
break;
case "skip":
$this->logger->info(__FILE__ . ':' . __LINE__ . ' ' . __METHOD__ . ' - ' . 'Skipping Record: ' . $title);
$ret = true;
break;
case "push_delete":
$this->logger->info(__FILE__ . ':' . __LINE__ . ' ' . __METHOD__ . ' - ' . 'Push Deleting Record: ' . $title);
$ret = $this->delEvent($event, $meeting->id);
break;
case "pull_delete":
$this->logger->info(__FILE__ . ':' . __LINE__ . ' ' . __METHOD__ . ' - ' . 'Pushing Record: ' . $title);
$meeting->gsync_id = '';
$ret = $this->pushEvent($meeting);
break;
default:
throw new GoogleSyncException('Unknown Action: ' . $action . ' for record: ' . $title, GoogleSyncException::INVALID_ACTION);
}