Commit 8179dd5a15b8aa0fe4bd7d4acde18d3c4986481f
1 parent
fe337c80
(#2987) added checks for unit in use
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@2710 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
17 additions
and
4 deletions
presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderBL.php
| ... | ... | @@ -31,6 +31,7 @@ require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); |
| 31 | 31 | require_once("$default->fileSystemRoot/lib/foldermanagement/FolderCollaboration.inc"); |
| 32 | 32 | require_once("$default->fileSystemRoot/lib/foldermanagement/FolderDocTypeLink.inc"); |
| 33 | 33 | require_once("$default->fileSystemRoot/lib/foldermanagement/PhysicalFolderManagement.inc"); |
| 34 | +require_once("$default->fileSystemRoot/lib/groups/GroupUnitLink.inc"); | |
| 34 | 35 | require_once("$default->fileSystemRoot/lib/users/User.inc"); |
| 35 | 36 | require_once("$default->fileSystemRoot/lib/subscriptions/SubscriptionManager.inc"); |
| 36 | 37 | require_once("$default->fileSystemRoot/lib/subscriptions/SubscriptionEngine.inc"); |
| ... | ... | @@ -137,10 +138,22 @@ if (checkSession()) { |
| 137 | 138 | $oPatternCustom->setHtml(getFolderNotEmptyPage($fFolderID, count($aLiveDocuments), "document(s)")); |
| 138 | 139 | } else if (count($aArchivedDocuments) > 0) { |
| 139 | 140 | $oPatternCustom->setHtml(getFolderNotEmptyPage($fFolderID, "", " archived documents")); |
| 140 | - } else { | |
| 141 | - // get confirmation first | |
| 142 | - $oFolder = Folder::get($fFolderID); | |
| 143 | - $oPatternCustom->setHtml(getConfirmPage($fFolderID, $oFolder->getName())); | |
| 141 | + } else { | |
| 142 | + // check if this is a unit root folder before allowing deletion | |
| 143 | + $oFolder = Folder::get($fFolderID); | |
| 144 | + | |
| 145 | + // check if this unit has any groups | |
| 146 | + $aGroupUnitLink = GroupUnitLink::getList("unit_id=" . $oFolder->getUnitID()); | |
| 147 | + $bUnitHasGroups = count($aGroupUnitLink) > 0; | |
| 148 | + | |
| 149 | + if (Folder::folderIsUnitRootFolder($fFolderID) && $bUnitHasGroups) { | |
| 150 | + // you can't delete a unit root folder | |
| 151 | + $oPatternCustom->setHtml(statusPage("Delete Folder", "", "You can't delete this folder because it is a Unit Root Folder and in use.", "browse", "fFolderID=" . $iFolderID)); | |
| 152 | + | |
| 153 | + } else { | |
| 154 | + // get confirmation first | |
| 155 | + $oPatternCustom->setHtml(getConfirmPage($fFolderID, $oFolder->getName())); | |
| 156 | + } | |
| 144 | 157 | } |
| 145 | 158 | // render the page |
| 146 | 159 | require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | ... | ... |