Commit 8179dd5a15b8aa0fe4bd7d4acde18d3c4986481f

Authored by michael
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
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");
... ...