Commit c2f835b2aed1e9ca801d2b53ac6372871c1862cb
1 parent
58981949
Changed handling of updating of folder
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@1263 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
2 changed files
with
80 additions
and
22 deletions
presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php
| @@ -27,7 +27,50 @@ if (checkSession()) { | @@ -27,7 +27,50 @@ if (checkSession()) { | ||
| 27 | if (isset($fFolderID)) { | 27 | if (isset($fFolderID)) { |
| 28 | //if the user can edit the folder | 28 | //if the user can edit the folder |
| 29 | if (Permission::userHasFolderWritePermission($fFolderID)) { | 29 | if (Permission::userHasFolderWritePermission($fFolderID)) { |
| 30 | - if (isset($fCollaborationEdit)) { | 30 | + if (isset($fForUpdate)) { |
| 31 | + //user is updating folder data | ||
| 32 | + $oFolder = Folder::get($fFolderID); | ||
| 33 | + $oFolder->setDescription($fDescription); | ||
| 34 | + if (isset($fIsPublic)) { | ||
| 35 | + $oFolder->setIsPublic(true); | ||
| 36 | + } else { | ||
| 37 | + $oFolder->setIsPublic(false); | ||
| 38 | + } | ||
| 39 | + $bSuccessfulUpdate = false; | ||
| 40 | + if (strcmp($oFolder->getName(), $fFolderName) != 0) { | ||
| 41 | + //folder name has changed, update the full_path | ||
| 42 | + $sOldName = $oFolder->getName(); | ||
| 43 | + $sOldPath = $default->documentRoot . "/" . $oFolder->getFullPath() . "/" . $oFolder->getName(); | ||
| 44 | + $oFolder->setName($fFolderName); | ||
| 45 | + if ($oFolder->update(true)) { | ||
| 46 | + $bSuccessfulUpdate = true; | ||
| 47 | + if (!PhysicalFolderManagement::renameFolder($sOldPath, $default->documentRoot . "/" . $oFolder->getFullPath() . "/" . $oFolder->getName())) { | ||
| 48 | + //reverse the database changes if the physical rename failed | ||
| 49 | + $oFolder->setName($sOldName); | ||
| 50 | + $oFolder->update(true); | ||
| 51 | + $bSuccessfulUpdate = false; | ||
| 52 | + } | ||
| 53 | + } | ||
| 54 | + } else { | ||
| 55 | + $bSuccessfulUpdate = $oFolder->update(); | ||
| 56 | + } | ||
| 57 | + if ($bSuccessfulUpdate) { | ||
| 58 | + $oPatternCustom = & new PatternCustom(); | ||
| 59 | + $oPatternCustom->setHtml(getPage($fFolderID)); | ||
| 60 | + $main->setCentralPayload($oPatternCustom); | ||
| 61 | + $main->setHasRequiredFields(true); | ||
| 62 | + $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); | ||
| 63 | + $main->render(); | ||
| 64 | + } else { | ||
| 65 | + $oPatternCustom = & new PatternCustom(); | ||
| 66 | + $oPatternCustom->setHtml(getPage($fFolderID)); | ||
| 67 | + $main->setErrorMessage("An error occured while updating this folder"); | ||
| 68 | + $main->setCentralPayload($oPatternCustom); | ||
| 69 | + $main->setHasRequiredFields(true); | ||
| 70 | + $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); | ||
| 71 | + $main->render(); | ||
| 72 | + } | ||
| 73 | + } else if (isset($fCollaborationEdit)) { | ||
| 31 | //user attempted to edit the folder collaboration process but could not because there is | 74 | //user attempted to edit the folder collaboration process but could not because there is |
| 32 | //a document currently in this process | 75 | //a document currently in this process |
| 33 | $oPatternCustom = & new PatternCustom(); | 76 | $oPatternCustom = & new PatternCustom(); |
presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc
| @@ -16,11 +16,39 @@ function getFolderPath($iFolderID) { | @@ -16,11 +16,39 @@ function getFolderPath($iFolderID) { | ||
| 16 | 16 | ||
| 17 | function getFolderData($iFolderID) { | 17 | function getFolderData($iFolderID) { |
| 18 | global $default; | 18 | global $default; |
| 19 | - $sQuery = "SELECT F.id, F.name AS folder_name, F.description, F.is_public " . | 19 | + $sQuery = "SELECT F.id, F.name, F.description, F.is_public " . |
| 20 | "FROM $default->owl_folders_table AS F " . | 20 | "FROM $default->owl_folders_table AS F " . |
| 21 | "WHERE F.id = $iFolderID"; | 21 | "WHERE F.id = $iFolderID"; |
| 22 | + | ||
| 23 | + $sql = $default->db; | ||
| 24 | + $sql->query($sQuery); | ||
| 25 | + $sToRender = "<table>\n"; | ||
| 26 | + if ($sql->next_record()) { | ||
| 27 | + $sToRender .= "<tr>\n"; | ||
| 28 | + $sToRender .= "<td>Name</td>\n"; | ||
| 29 | + if (Folder::folderIsUnitRootFolder($iFolderID)) { | ||
| 30 | + $sToRender .= "<td>" . $sql->f("name") . "</td>\n"; | ||
| 31 | + } else { | ||
| 32 | + $sToRender .= "<td><input type=\"text\" name=\"fFolderName\" value=\"" . $sql->f("name") . "\" size=\"30\"></td>\n"; | ||
| 33 | + } | ||
| 34 | + $sToRender .= "</tr>\n"; | ||
| 35 | + $sToRender .= "<tr>\n"; | ||
| 36 | + $sToRender .= "<td>Description</td>\n"; | ||
| 37 | + $sToRender .= "<td><input type=\"text\" name=\"fDescription\" value=\"" . $sql->f("description") . "\" size=\"30\"></td>\n"; | ||
| 38 | + $sToRender .= "</tr>\n"; | ||
| 39 | + $sToRender .= "<tr>\n"; | ||
| 40 | + $sToRender .= "<td>Public</td>\n"; | ||
| 41 | + $sToRender .= "<td><input type=\"checkbox\" name=\"fIsPublic\" " . ($sql->f("is_public") ? "CHECKED" : "") ." ></td>\n"; | ||
| 42 | + $sToRender .= "</tr>\n"; | ||
| 43 | + $sToRender .= "<tr>\n"; | ||
| 44 | + $sToRender .= "<td></td>\n"; | ||
| 45 | + $sToRender .= "</tr>\n"; | ||
| 46 | + | ||
| 47 | + } | ||
| 48 | + $sToRender .= "</table>\n"; | ||
| 49 | + | ||
| 22 | 50 | ||
| 23 | - $aDisplayColumns = array("folder_name", "description", "is_public"); | 51 | + /*$aDisplayColumns = array("folder_name", "description", "is_public"); |
| 24 | $aStoreColumns = array("name", "description" , "is_public"); | 52 | $aStoreColumns = array("name", "description" , "is_public"); |
| 25 | $aColumnNames = array("Name", "Description", "Public"); | 53 | $aColumnNames = array("Name", "Description", "Public"); |
| 26 | $aDisplayColumnTypes = array(1,1,2); | 54 | $aDisplayColumnTypes = array(1,1,2); |
| @@ -32,7 +60,9 @@ function getFolderData($iFolderID) { | @@ -32,7 +60,9 @@ function getFolderData($iFolderID) { | ||
| 32 | $oPatternEditableListFromQuery->setDropDownListTableNames($aDropDownListTableNames); | 60 | $oPatternEditableListFromQuery->setDropDownListTableNames($aDropDownListTableNames); |
| 33 | $oPatternEditableListFromQuery->setColumnsRequired(array(1,0,1,0)); | 61 | $oPatternEditableListFromQuery->setColumnsRequired(array(1,0,1,0)); |
| 34 | 62 | ||
| 35 | - return $oPatternEditableListFromQuery->render(); | 63 | + return $oPatternEditableListFromQuery->render();*/ |
| 64 | + | ||
| 65 | + return $sToRender; | ||
| 36 | 66 | ||
| 37 | } | 67 | } |
| 38 | 68 | ||
| @@ -92,22 +122,7 @@ function getPage($iFolderID) { | @@ -92,22 +122,7 @@ function getPage($iFolderID) { | ||
| 92 | $sToRender .= getRightSide($iFolderID); | 122 | $sToRender .= getRightSide($iFolderID); |
| 93 | $sToRender .= "</td>\n"; | 123 | $sToRender .= "</td>\n"; |
| 94 | $sToRender .= "</tr>\n"; | 124 | $sToRender .= "</tr>\n"; |
| 95 | - $sToRender .= "</table>\n"; | ||
| 96 | - /*$sToRender = "<table border=\"1\" width=\"100%\"><tr><td>" . getFolderPath($iFolderID) . "</td></tr></table>\n"; | ||
| 97 | - $sToRender .= "<table border =\"0\">\n"; | ||
| 98 | - $sToRender .= "<tr>\n"; | ||
| 99 | - $sToRender .= "<td valign=\"top\">" . wrapInTable(getFolderData($iFolderID)) . "</td>\n"; | ||
| 100 | - $sToRender .= "<td>" . wrapInTable(getFolderDocTypes($iFolderID)) . "</td>\n"; | ||
| 101 | - $sToRender .= "</tr>\n"; | ||
| 102 | - $sToRender .= "<tr>\n"; | ||
| 103 | - $sToRender .= "<td><input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" border=\"0\" /></td>\n"; | ||
| 104 | - $sToRender .= "</tr>\n"; | ||
| 105 | - $sToRender .= "<tr>\n"; | ||
| 106 | - $sToRender .= "<td>" . wrapInTable(getFolderRouting($iFolderID)) . "</td>\n"; | ||
| 107 | - $sToRender .= "</tr>\n"; | ||
| 108 | - $sToRender .= "<tr>\n"; | ||
| 109 | - $sToRender .= "<td><a href=\"$default->rootUrl/control.php?action=addFolderCollaboration&fFolderID=$iFolderID\"><img src=\"$default->graphicsUrl/widgets/add.gif\" border=\"0\" /></a></td>\n"; | ||
| 110 | - $sToRender .= "</table>\n";*/ | 125 | + $sToRender .= "</table>\n"; |
| 111 | return $sToRender; | 126 | return $sToRender; |
| 112 | } | 127 | } |
| 113 | 128 | ||
| @@ -120,8 +135,8 @@ function getLeftSide($iFolderID) { | @@ -120,8 +135,8 @@ function getLeftSide($iFolderID) { | ||
| 120 | $sToRender .= "</td>\n"; | 135 | $sToRender .= "</td>\n"; |
| 121 | $sToRender .= "</tr>\n"; | 136 | $sToRender .= "</tr>\n"; |
| 122 | $sToRender .= "<tr>\n"; | 137 | $sToRender .= "<tr>\n"; |
| 123 | - $sToRender .= "<td>\n"; | ||
| 124 | - $sToRender .= "<input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" border=\"0\" />\n"; | 138 | + $sToRender .= "<td>\n"; |
| 139 | + $sToRender .= "<input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fFolderID=$iFolderID&fForUpdate=1')\" border=\"0\" />\n"; | ||
| 125 | $sToRender .= "</td>\n"; | 140 | $sToRender .= "</td>\n"; |
| 126 | $sToRender .= "</tr>\n"; | 141 | $sToRender .= "</tr>\n"; |
| 127 | $sToRender .= "<tr>\n"; | 142 | $sToRender .= "<tr>\n"; |