From 311a09e2b00190bec7a2aabc8ff71a22efbbbe5d Mon Sep 17 00:00:00 2001 From: Christophe Vandeplas Date: Fri, 19 Oct 2012 13:28:32 +0200 Subject: [PATCH] fixes bug 87 - on import of existing event: event info changed, tagged private. Also fixes events tagged private when added using REST api. --- app/Controller/EventsController.php | 4 ---- app/Controller/ServersController.php | 9 +++++++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/Controller/EventsController.php b/app/Controller/EventsController.php index fb65ced72..88f537410 100644 --- a/app/Controller/EventsController.php +++ b/app/Controller/EventsController.php @@ -266,10 +266,6 @@ class EventsController extends AppController { // LATER do this with $this->validator()->remove('event_id'); unset($this->Event->Attribute->validate['event_id']); unset($this->Event->Attribute->validate['value']['unique']); // otherwise gives bugs because event_id is not set - - // thing a 'pull from server' sets ServersController.php:176 - // Event.info is appended from the publishing side, given the need to have Server.url - $data['Event']['private'] = true; } if (isset($data['Event']['uuid'])) { // TODO here we should start RESTful dialog diff --git a/app/Controller/ServersController.php b/app/Controller/ServersController.php index 46fcf3f88..bbb503d51 100755 --- a/app/Controller/ServersController.php +++ b/app/Controller/ServersController.php @@ -176,8 +176,13 @@ class ServersController extends AppController { $this->Server->data); if (null != $event) { // we have an Event array - $event['Event']['private'] = true; - $event['Event']['info'] .= "\n Imported from " . $this->Server->data['Server']['url']; + // check if the event already exist (using the uuid) + $existingEventCount = $this->Event->find('count', array('conditions' => array('Event.uuid' => $event['Event']['uuid']))); + if ($existingEventCount == 0) { + // add data for newly imported events + $event['Event']['private'] = true; + $event['Event']['info'] .= "\n Imported from " . $this->Server->data['Server']['url']; + } $eventsController = new EventsController(); try { $result = $eventsController->_add($event, $this->Auth, $fromXml = true, $this->Server->data['Server']['organization']);