Commit 4726e87f5ee0be33911e0ae9b9d3348343001c0b
1 parent
54b8ba2d
Allow Units to be created with their homes anywhere in the folder
hierarchy. Submitted by: Stefano Ciancio (sciancio) SF Tracker: 1182024 git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3281 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
4 changed files
with
37 additions
and
11 deletions
lib/unitmanagement/Unit.inc
| ... | ... | @@ -30,12 +30,14 @@ class Unit extends KTEntity { |
| 30 | 30 | var $iId; |
| 31 | 31 | /** unit's name */ |
| 32 | 32 | var $sName; |
| 33 | + /** folder's id */ | |
| 34 | + var $iFolderID; | |
| 33 | 35 | |
| 34 | - | |
| 35 | - function Unit($sNewName) { | |
| 36 | + function Unit($sNewName, $iNewFolderID=1) { | |
| 36 | 37 | //object has not been created in database yet |
| 37 | 38 | $this->iId = -1; |
| 38 | 39 | $this->sName = $sNewName; |
| 40 | + $this->iFolderID = $iNewFolderID; | |
| 39 | 41 | } |
| 40 | 42 | |
| 41 | 43 | /** |
| ... | ... | @@ -93,7 +95,7 @@ class Unit extends KTEntity { |
| 93 | 95 | |
| 94 | 96 | // create a new unit root folder |
| 95 | 97 | // FIXME: lookup the organisation for this unit and use the appropriate folder id for the org root folder |
| 96 | - $oFolder = new Folder($this->sName, $this->sName . " Unit Root Folder", 1, $_SESSION["userID"], $this->iId); | |
| 98 | + $oFolder = new Folder($this->sName, $this->sName . " Unit Root Folder", $this->iFolderID, $_SESSION["userID"], $this->iId); | |
| 97 | 99 | if (!$oFolder->exists()) { |
| 98 | 100 | if ($oFolder->create()) { |
| 99 | 101 | if (PhysicalFolderManagement::createFolder(Folder::getFolderPath($oFolder->getID()))) { | ... | ... |
presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/addUnitBL.php
| ... | ... | @@ -46,15 +46,17 @@ if (checkSession()) { |
| 46 | 46 | require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); |
| 47 | 47 | $oPatternCustom = & new PatternCustom(); |
| 48 | 48 | |
| 49 | - if (isset($fForStore)) { | |
| 50 | - if($fUnitName != "" and $fOrgID != "") { | |
| 49 | + if (isset($fFolderID)) { | |
| 50 | + | |
| 51 | + if (isset($fForStore)) { | |
| 52 | + if($fUnitName != "" and $fOrgID != "" and $fFolderID != "") { | |
| 51 | 53 | // #2944 a folder will be created for this unit, so check if there is already a folder with the name |
| 52 | 54 | // of the unit before creating the unit |
| 53 | - $oFolder = new Folder($fUnitName, $fUnitName . " " . _("Unit Root Folder"), 1, $_SESSION["userID"], 0); | |
| 55 | + $oFolder = new Folder($fUnitName, $fUnitName . " " . _("Unit Root Folder"), $fFolderID, $_SESSION["userID"], 0); | |
| 54 | 56 | if (!$oFolder->exists()) { |
| 55 | 57 | |
| 56 | - $oUnit = new Unit($fUnitName); | |
| 57 | - | |
| 58 | + $oUnit = new Unit($fUnitName, $fFolderID); | |
| 59 | + | |
| 58 | 60 | // if creation is successfull..get the unit id |
| 59 | 61 | if ($oUnit->create()) { |
| 60 | 62 | $unitID = $oUnit->getID(); |
| ... | ... | @@ -82,11 +84,13 @@ if (checkSession()) { |
| 82 | 84 | } else { |
| 83 | 85 | // display add unit page |
| 84 | 86 | $oPatternCustom->setHtml(getAddPage()); |
| 87 | + $oPatternCustom->addHtml(renderBrowsePage($fFolderID)); | |
| 85 | 88 | $main->setHasRequiredFields(true); |
| 86 | - $main->setFormAction($_SERVER["PHP_SELF"]. "?fForStore=1"); | |
| 89 | + $main->setFormAction($_SERVER["PHP_SELF"]. "?fForStore=1&fFolderID=$fFolderID"); | |
| 87 | 90 | |
| 88 | 91 | } |
| 89 | 92 | $main->setCentralPayload($oPatternCustom); |
| 90 | 93 | $main->render(); |
| 94 | + } | |
| 91 | 95 | } |
| 92 | 96 | ?> | ... | ... |
presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/addUnitUI.inc
| ... | ... | @@ -86,7 +86,7 @@ function getAddPageFail($sMessage) { |
| 86 | 86 | $sToRender .= "<tr></tr>\n"; |
| 87 | 87 | $sToRender .= "<tr></tr>\n"; |
| 88 | 88 | $sToRender .= "<tr>\n"; |
| 89 | - $sToRender .= "<td></td><td align = right><a href=\"$default->rootUrl/control.php?action=addUnit\"><img src =\"" . KTHtml::getBackButton() . "\" border = \"0\" /></a></td>\n"; | |
| 89 | + $sToRender .= "<td></td><td align = right><a href=\"$default->rootUrl/control.php?action=addUnit&fFolderID=1\"><img src =\"" . KTHtml::getBackButton() . "\" border = \"0\" /></a></td>\n"; | |
| 90 | 90 | $sToRender .= "</tr>\n"; |
| 91 | 91 | $sToRender .= "</table>\n"; |
| 92 | 92 | |
| ... | ... | @@ -144,4 +144,23 @@ function getOrgDisplay() { |
| 144 | 144 | // $oPatternListBox = & new PatternListBox($default->organisations_table, "name", "id", "fOrgID"); |
| 145 | 145 | // return $oPatternListBox->render(); |
| 146 | 146 | } |
| 147 | + | |
| 148 | + | |
| 149 | +function renderBrowsePage($fFolderID) { | |
| 150 | + global $default; | |
| 151 | + $sToRender = "<table border=\"0\">\n"; | |
| 152 | + $sToRender .= "<tr>\n"; | |
| 153 | + $sToRender .= "\t<td>" . renderFolderPath($fFolderID, generateControllerUrl("addUnit", "", false)) . "</td>\n"; | |
| 154 | + $sToRender .= "</tr>\n"; | |
| 155 | + $sToRender .= "</table>\n"; | |
| 156 | + $sToRender .= "<table border=\"0\">\n"; | |
| 157 | + $sToRender .= "<tr>\n"; | |
| 158 | + $sToRender .= "\t<td>" . renderFolderList($fFolderID, generateControllerUrl("addUnit", "", false)) . "<td>\n"; | |
| 159 | + | |
| 160 | + $sToRender .= "</tr>\n"; | |
| 161 | + $sToRender .= "</table><br>\n"; | |
| 162 | + | |
| 163 | + return $sToRender; | |
| 164 | +} | |
| 165 | + | |
| 147 | 166 | ?> | ... | ... |
presentation/lookAndFeel/knowledgeTree/administration/unitmanagement/listUnitsUI.inc
| ... | ... | @@ -69,7 +69,8 @@ function getPage($iOrganisationID) { |
| 69 | 69 | global $default; |
| 70 | 70 | $sToRender .= renderHeading(_("Unit Management")); |
| 71 | 71 | |
| 72 | - $sToRender .= getAddLink("addUnit", _("Add A Unit")); | |
| 72 | + $sToRender .= getAddLink("addUnit&fFolderID=1", _("Add A Unit")); | |
| 73 | + | |
| 73 | 74 | //$sToRender .= getOrganisationDisplay($iOrganisationID); |
| 74 | 75 | $sToRender .= getUnits($iOrganisationID); |
| 75 | 76 | return $sToRender; | ... | ... |