diff --git a/lib/unitmanagement/Unit.inc b/lib/unitmanagement/Unit.inc
index e33fbef..43a7d03 100644
--- a/lib/unitmanagement/Unit.inc
+++ b/lib/unitmanagement/Unit.inc
@@ -30,12 +30,14 @@ class Unit extends KTEntity {
var $iId;
/** unit's name */
var $sName;
+ /** folder's id */
+ var $iFolderID;
-
- function Unit($sNewName) {
+ function Unit($sNewName, $iNewFolderID=1) {
//object has not been created in database yet
$this->iId = -1;
$this->sName = $sNewName;
+ $this->iFolderID = $iNewFolderID;
}
/**
@@ -93,7 +95,7 @@ class Unit extends KTEntity {
// create a new unit root folder
// FIXME: lookup the organisation for this unit and use the appropriate folder id for the org root folder
- $oFolder = new Folder($this->sName, $this->sName . " Unit Root Folder", 1, $_SESSION["userID"], $this->iId);
+ $oFolder = new Folder($this->sName, $this->sName . " Unit Root Folder", $this->iFolderID, $_SESSION["userID"], $this->iId);
if (!$oFolder->exists()) {
if ($oFolder->create()) {
if (PhysicalFolderManagement::createFolder(Folder::getFolderPath($oFolder->getID()))) {
diff --git a/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/addUnitBL.php b/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/addUnitBL.php
index 6df534d..847db5d 100644
--- a/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/addUnitBL.php
+++ b/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/addUnitBL.php
@@ -46,15 +46,17 @@ if (checkSession()) {
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
$oPatternCustom = & new PatternCustom();
- if (isset($fForStore)) {
- if($fUnitName != "" and $fOrgID != "") {
+ if (isset($fFolderID)) {
+
+ if (isset($fForStore)) {
+ if($fUnitName != "" and $fOrgID != "" and $fFolderID != "") {
// #2944 a folder will be created for this unit, so check if there is already a folder with the name
// of the unit before creating the unit
- $oFolder = new Folder($fUnitName, $fUnitName . " " . _("Unit Root Folder"), 1, $_SESSION["userID"], 0);
+ $oFolder = new Folder($fUnitName, $fUnitName . " " . _("Unit Root Folder"), $fFolderID, $_SESSION["userID"], 0);
if (!$oFolder->exists()) {
- $oUnit = new Unit($fUnitName);
-
+ $oUnit = new Unit($fUnitName, $fFolderID);
+
// if creation is successfull..get the unit id
if ($oUnit->create()) {
$unitID = $oUnit->getID();
@@ -82,11 +84,13 @@ if (checkSession()) {
} else {
// display add unit page
$oPatternCustom->setHtml(getAddPage());
+ $oPatternCustom->addHtml(renderBrowsePage($fFolderID));
$main->setHasRequiredFields(true);
- $main->setFormAction($_SERVER["PHP_SELF"]. "?fForStore=1");
+ $main->setFormAction($_SERVER["PHP_SELF"]. "?fForStore=1&fFolderID=$fFolderID");
}
$main->setCentralPayload($oPatternCustom);
$main->render();
+ }
}
?>
diff --git a/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/addUnitUI.inc b/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/addUnitUI.inc
index 6ba2902..7890af7 100644
--- a/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/addUnitUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/addUnitUI.inc
@@ -86,7 +86,7 @@ function getAddPageFail($sMessage) {
$sToRender .= "
\n";
$sToRender .= "
\n";
$sToRender .= "\n";
- $sToRender .= " | rootUrl/control.php?action=addUnit\"> | \n";
+ $sToRender .= " | rootUrl/control.php?action=addUnit&fFolderID=1\"> | \n";
$sToRender .= "
\n";
$sToRender .= "\n";
@@ -144,4 +144,23 @@ function getOrgDisplay() {
// $oPatternListBox = & new PatternListBox($default->organisations_table, "name", "id", "fOrgID");
// return $oPatternListBox->render();
}
+
+
+function renderBrowsePage($fFolderID) {
+ global $default;
+ $sToRender = "\n";
+ $sToRender .= "\n";
+ $sToRender .= "\t| " . renderFolderPath($fFolderID, generateControllerUrl("addUnit", "", false)) . " | \n";
+ $sToRender .= "
\n";
+ $sToRender .= "
\n";
+ $sToRender .= "\n";
+ $sToRender .= "\n";
+ $sToRender .= "\t| " . renderFolderList($fFolderID, generateControllerUrl("addUnit", "", false)) . " | \n";
+
+ $sToRender .= " |
\n";
+ $sToRender .= "
\n";
+
+ return $sToRender;
+}
+
?>
diff --git a/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/listUnitsUI.inc b/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/listUnitsUI.inc
index 7e92c52..5c36097 100644
--- a/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/listUnitsUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/listUnitsUI.inc
@@ -69,7 +69,8 @@ function getPage($iOrganisationID) {
global $default;
$sToRender .= renderHeading(_("Unit Management"));
- $sToRender .= getAddLink("addUnit", _("Add A Unit"));
+ $sToRender .= getAddLink("addUnit&fFolderID=1", _("Add A Unit"));
+
//$sToRender .= getOrganisationDisplay($iOrganisationID);
$sToRender .= getUnits($iOrganisationID);
return $sToRender;