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

Commit f48b459

Browse files
committed
BUG: Refs #0309. User can manage(change permission, delete) top lever folders except for the default 'Public' and 'Private' folders.
The changes apply to user folders and community folders. The actions are only shown in user manage view and community manage view.
1 parent 3fa4a34 commit f48b459

File tree

3 files changed

+30
-9
lines changed

3 files changed

+30
-9
lines changed

core/controllers/FolderController.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,11 +184,14 @@ public function deleteAction()
184184
}
185185

186186
$parent = $folder->getParent();
187-
if($this->Folder->getCommunity($parent) != false || $this->Folder->getCommunity($folder) != false)
187+
$folderName = $folder->getName();
188+
// User cannot delete community's root folder, the default 'Public' folder and the default 'Private' folder
189+
if(($this->Folder->getCommunity($parent) != false && ($folderName == 'Public' || $folderName == 'Private')) || $this->Folder->getCommunity($folder) != false)
188190
{
189191
throw new Zend_Exception("Community Folder. You cannot delete it.");
190192
}
191-
if($this->Folder->getUser($parent) != false || $this->Folder->getUser($folder) != false)
193+
// User cannot delete its root folder, the default 'Public' folder and the default 'Private' folder
194+
if(($this->Folder->getUser($parent) != false && ($folderName == 'Public' || $folderName == 'Private')) || $this->Folder->getUser($folder) != false)
192195
{
193196
throw new Zend_Exception("User Folder. You cannot delete it.");
194197
}

core/views/community/manage.phtml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -236,11 +236,20 @@ $this->headScript()->appendFile($this->coreWebroot.'/public/js/common/common.bro
236236
<?php
237237
$communityId = $this->communityDao->getKey();
238238
$node = MIDAS_MAXIMUM_FOLDER_NUMBERS_PER_LEVEL * $communityId;
239-
239+
240240
foreach($this->folders as $folder)
241241
{
242-
echo "<tr id='node--$node' class='parent' privacy='{$folder->getPrivacyStatus()}' policy='".MIDAS_POLICY_ADMIN."' type='folder' element='{$folder->getFolderId()}' ajax='{$folder->getFolderId()}'>";
243-
echo " <td class='treeBrowseElement'><span class='notdraggable folder'>{$folder->getName()}</span></td>";
242+
$folderName = $folder->getName();
243+
if ($folderName == 'Public' || $folderName == 'Private')
244+
{
245+
$deletableStatus = 'false';
246+
}
247+
else
248+
{
249+
$deletableStatus = 'true';
250+
}
251+
echo "<tr id='node--$node' class='parent' deletable=$deletableStatus privacy='{$folder->getPrivacyStatus()}' policy='".MIDAS_POLICY_ADMIN."' type='folder' element='{$folder->getFolderId()}' ajax='{$folder->getFolderId()}'>";
252+
echo " <td class='treeBrowseElement'><span class='notdraggable folder'>$folderName</span></td>";
244253
echo " <td><img class='folderLoading' element='{$folder->getFolderId()}' alt='' src='{$this->coreWebroot}/public/images/icons/loading.gif'/></td>";
245254
echo " <td>{$this->Date->ago($folder->getDateUpdate(),true)}</td>";
246255
echo " <td><input type='checkbox' class='treeCheckbox' type='folder' element='{$folder->getFolderId()}' /></td>";
@@ -315,7 +324,7 @@ $this->headScript()->appendFile($this->coreWebroot.'/public/js/common/common.bro
315324
<div class='sideElementFirst genericAction'>
316325
<h1>Actions</h1>
317326
<ul>
318-
<li><a onclick='createNewFolder(".$this->mainFolder->getKey().");'><img alt='' src='{$this->coreWebroot}/public/images/FileTree/directory.png'/> {$this->t('Create top level Folder')}</a></li>
327+
<li><a onclick='createNewFolder(".$this->mainFolder->getKey().");'><img alt='' src='{$this->coreWebroot}/public/images/FileTree/directory.png'/> {$this->t('Create a top level Folder')}</a></li>
319328
<li><a href='javascript:;' id='communityDeleteLink'><img alt='' src='{$this->coreWebroot}/public/images/icons/close.png'/> {$this->t('Delete Community')}</a></li>
320329
</ul>
321330
</div>";

core/views/user/manage.phtml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,17 @@ $this->headScript()->appendFile($this->coreWebroot.'/public/js/common/common.bro
5656

5757
foreach($this->folders as $folder)
5858
{
59-
echo "<tr id='node--$node' class='parent' privacy='{$folder->getPrivacyStatus()}' policy='".MIDAS_POLICY_ADMIN."' type='folder' element='{$folder->getFolderId()}' ajax='{$folder->getFolderId()}'>";
60-
echo " <td class='treeBrowseElement'><span class='notdraggable folder'>{$folder->getName()}</span></td>";
59+
$folderName = $folder->getName();
60+
if ($folderName == 'Public' || $folderName == 'Private')
61+
{
62+
$deletableStatus = 'false';
63+
}
64+
else
65+
{
66+
$deletableStatus = 'true';
67+
}
68+
echo "<tr id='node--$node' class='parent' deletable=$deletableStatus privacy='{$folder->getPrivacyStatus()}' policy='".MIDAS_POLICY_ADMIN."' type='folder' element='{$folder->getFolderId()}' ajax='{$folder->getFolderId()}'>";
69+
echo " <td class='treeBrowseElement'><span class='notdraggable folder'>$folderName</span></td>";
6170
echo " <td><img class='folderLoading' element='{$folder->getFolderId()}' alt='' src='{$this->coreWebroot}/public/images/icons/loading.gif'/></td>";
6271
echo " <td>{$this->Date->ago($folder->getDateUpdate(),true)}</td>";
6372
echo " <td><input type='checkbox' class='treeCheckbox' type='folder' element='{$folder->getFolderId()}' /></td>";
@@ -149,7 +158,7 @@ if(!empty($this->userCommunities))
149158
<h1>Actions</h1>
150159
<ul>
151160
<?php
152-
echo "<li><a onclick='createNewFolder(".$this->mainFolder->getKey().");'><img alt='' src='{$this->coreWebroot}/public/images/FileTree/directory.png'/> {$this->t('Create top level Folder')}</a></li>";
161+
echo "<li><a onclick='createNewFolder(".$this->mainFolder->getKey().");'><img alt='' src='{$this->coreWebroot}/public/images/FileTree/directory.png'/> {$this->t('Create a top level Folder')}</a></li>";
153162
?>
154163
</ul>
155164
</div>

0 commit comments

Comments
 (0)