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\n"; + $sToRender .= "\n"; + $sToRender .= "
" . renderFolderPath($fFolderID, generateControllerUrl("addUnit", "", false)) . "
\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\t\n"; + $sToRender .= "
" . renderFolderList($fFolderID, generateControllerUrl("addUnit", "", false)) . "\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;