+ $user = $this->_helper->SyjSession->user();
+ if (!$user and !$formData["geom_accept"]) {
+ throw new Syj_Exception_Request();
+ }
+ $path->creator = $user;
+ $path->creatorIp = $this->getRequest()->getClientIp(true);
+
+ $this->save($path, $formData);
+ $data = array('redirect' => "idx/" . (string)$path->id);
+ $this->_helper->SyjApi->setCode(201)->setBodyJson($data);
+ }
+
+ public function updateAction() {
+ $formData = $this->_helper->SyjPostData->getPostData('Syj_Form_Geom');
+ $path = $this->getPath();
+ $this->save($path, $formData);
+ $this->_helper->SyjApi->setCode(200); // we should use 204, but ie mangles 204 to 1223
+ }
+
+ public function deleteAction() {
+ $path = $this->getPath();
+ $pathMapper = new Syj_Model_PathMapper();
+ $pathMapper->delete ($path);
+ $this->_helper->SyjApi->setCode(200); // we should use 204, but ie mangles 204 to 1223
+ }
+
+ public function getPath() {
+ $idx = $this->getRequest()->getUserParam('idx');
+ $path = new Syj_Model_Path();
+ $pathMapper = new Syj_Model_PathMapper();
+ if (!$pathMapper->find($idx, $path)) {
+ if ($pathMapper->hasexisted($idx)) {
+ throw new Syj_Exception_NotFound('Gone', 410);
+ } else {
+ throw new Syj_Exception_NotFound('Not Found', 404);
+ }