Skip to content
This repository was archived by the owner on Sep 10, 2021. It is now read-only.

Commit 3b1d298

Browse files
committed
ENH: refs #236. Set uuid properly in api folder.create
1 parent 7851e62 commit 3b1d298

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

core/models/base/FolderModelBase.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ function incrementViewCount($folder)
8383
}//end incrementViewCount
8484

8585
/** Create a folder */
86-
function createFolder($name, $description, $parent)
86+
function createFolder($name, $description, $parent, $uuid = '')
8787
{
8888
if(!$parent instanceof FolderDao && !is_numeric($parent))
8989
{
@@ -121,7 +121,7 @@ function createFolder($name, $description, $parent)
121121
$folder = new FolderDao();
122122
$folder->setName($name);
123123
$folder->setDescription($description);
124-
124+
$folder->setUuid($uuid);
125125
$folder->setParentId($parentId);
126126
$this->save($folder);
127127
return $folder;

modules/api/controllers/components/ApiComponent.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ public function uuidGet($args)
152152

153153
/**
154154
* Get a resource by its UUID
155-
* @params uuid Universal identifier for the resource
155+
* @param uuid Universal identifier for the resource
156+
* @param folder (Optional) If set, will return the folder instead of the community record
156157
* @return The resource's dao
157158
*/
158159
function resourceGet($args)
@@ -168,6 +169,11 @@ function resourceGet($args)
168169
{
169170
throw new Exception('No resource for the given UUID.', MIDAS_INVALID_PARAMETER);
170171
}
172+
173+
if($resource->resourceType == MIDAS_RESOURCE_COMMUNITY && array_key_exists('folder', $args))
174+
{
175+
return array('type' => MIDAS_RESOURCE_FOLDER, 'id' => $resource->getFolderId());
176+
}
171177
return array('type' => $resource->resourceType, 'id' => $resource->getKey());
172178
}
173179

@@ -645,20 +651,22 @@ function folderCreate($args)
645651
{
646652
throw new Exception('Parent doesn\'t exist', MIDAS_INVALID_PARAMETER);
647653
}
648-
$new_folder = $folderModel->createFolder($name, $description, $folder);
654+
$new_folder = $folderModel->createFolder($name, $description, $folder, $uuid);
649655
if($new_folder === false)
650656
{
651657
throw new Exception('Request failed', MIDAS_INTERNAL_ERROR);
652658
}
653659
$policyGroup = $folder->getFolderpolicygroup();
654660
$policyUser = $folder->getFolderpolicyuser();
661+
$folderpolicygroupModel = $modelLoader->loadModel('Folderpolicygroup');
662+
$folderpolicyuserModel = $modelLoader->loadModel('Folderpolicygroup');
655663
foreach($policyGroup as $policy)
656664
{
657-
$folderModelpolicygroup->createPolicy($policy->getGroup(), $new_folder, $policy->getPolicy());
665+
$folderpolicygroupModel->createPolicy($policy->getGroup(), $new_folder, $policy->getPolicy());
658666
}
659667
foreach($policyUser as $policy)
660668
{
661-
$folderModelpolicyuser->createPolicy($policy->getUser(), $new_folder, $policy->getPolicy());
669+
$folderpolicyuserModel->createPolicy($policy->getUser(), $new_folder, $policy->getPolicy());
662670
}
663671

664672
return $new_folder->toArray();

0 commit comments

Comments
 (0)