diff --git a/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/removeGroupBL.php b/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/removeGroupBL.php
index aed14d6..6d12cc7 100644
--- a/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/removeGroupBL.php
+++ b/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/removeGroupBL.php
@@ -23,33 +23,33 @@ if (checkSession()) {
require_once("$default->fileSystemRoot/presentation/Html.inc");
$oPatternCustom = & new PatternCustom();
-
- // get main page
+
if (isset($fGroupID)) {
-
- $oPatternCustom->setHtml(getDeletePage($fGroupID));
- $main->setFormAction($_SERVER["PHP_SELF"] . "?fForDelete=1");
-
- // get delete page
- } else {
- $oPatternCustom->setHtml(getDeletePage(null));
- $main->setFormAction($_SERVER["PHP_SELF"]);
- }
-
- // if delete entry
- if (isset($fForDelete)) {
- $oGroup = Group::get($fGroupID);
- $oGroup->setName($fGroupName);
-
- if ($oGroup->delete()) {
- $oPatternCustom->setHtml(getDeleteSuccessPage());
-
+ $oGroup = Group::get($fGroupID);
+ if (!$oGroup->hasUsers()) {
+ if (!$oGroup->hasUnit()) {
+ if (isset($fForDelete)) {
+ if ($oGroup->delete()) {
+ // FIXME: refactor getStatusPage in Html.inc
+ $oPatternCustom->setHtml(statusPage("Remove Group", "Group successfully removed!", "listGroups"));
+ } else {
+ $oPatternCustom->setHtml(statusPage("Remove Group", "Group deletion failed!", "listGroups", "There was an error deleting this group. Please try again later."));
+ }
+ } else {
+ $oPatternCustom->setHtml(getDeletePage($fGroupID));
+ $main->setFormAction($_SERVER["PHP_SELF"] . "?fForDelete=1");
+ }
+ } else {
+ $oPatternCustom->setHtml(statusPage("Remove Group", "This group is in a unit!", "listGroups", "This group can not be deleted because it belongs to a unit."));
+ }
} else {
- $oPatternCustom->setHtml(getDeleteFailPage());
+ $oPatternCustom->setHtml(statusPage("Remove Group", "This group has users!", "listGroups", "This group can not be deleted because there are still users in it."));
}
+ } else {
+ $oPatternCustom->setHtml(statusPage("Remove Group", "No group was selected for deletion", "listGroups"));
}
$main->setCentralPayload($oPatternCustom);
$main->render();
}
-?>
+?>
\ No newline at end of file
diff --git a/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/removeGroupUI.inc b/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/removeGroupUI.inc
index b2882e2..5354397 100644
--- a/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/removeGroupUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/administration/groupmanagement/removeGroupUI.inc
@@ -39,53 +39,8 @@ function getDeletePage($iGroupID) {
$sToRender .= "\n";
$sToRender .= getDeleteButton($oGroup);
$sToRender .= "\n";
-
-
- return $sToRender;
-}
-
-// get successfully deletion page
-function getDeleteSuccessPage() {
-
-global $default;
-
-$sToRender .= renderHeading("Remove Group");
-$sToRender .= "
\n";
-
-return $sToRender;
-}
-
-// get deletion failed page
-function getDeleteFailPage() {
-
-global $default;
-$sToRender .= renderHeading("Remove Group");
-$sToRender .= "\n";
-
-return $sToRender;
+ return $sToRender;
}
// show listbox...or the text name
@@ -100,26 +55,20 @@ function getGroupDisplay($oGroup) {
return "iId . "\">\n" .
"" . $oGroup->getName() . "";
}
-
}
// show check box
function getUnitAdminCheckBox($oGroup) {
- if (!isset($oGroup)) {
- return "";
- } else {
+ if (isset($oGroup)) {
return "Unit Administrator: getUnitAdmin() ? "CHECKED " : " ") . " />";
}
}
// show text box
function getSysAdminCheckBox($oGroup) {
- if (!isset($oGroup)) {
- return "";
- } else {
+ if (isset($oGroup)) {
return "System Administrator: getSysAdmin() ? "CHECKED " : " ") . " />";
}
-
}
// show delete button
@@ -130,4 +79,4 @@ function getDeleteButton($oGroup) {
"rootUrl/control.php?action=listGroups\"> graphicsUrl/widgets/cancel.gif\" border = \"0\" /> | \n";
}
}
-?>
+?>
\ No newline at end of file