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 | 27 | if (isset($fFolderID)) { |
| 28 | 28 | //if the user can edit the folder |
| 29 | 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 | 74 | //user attempted to edit the folder collaboration process but could not because there is |
| 32 | 75 | //a document currently in this process |
| 33 | 76 | $oPatternCustom = & new PatternCustom(); | ... | ... |
presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc
| ... | ... | @@ -16,11 +16,39 @@ function getFolderPath($iFolderID) { |
| 16 | 16 | |
| 17 | 17 | function getFolderData($iFolderID) { |
| 18 | 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 | 20 | "FROM $default->owl_folders_table AS F " . |
| 21 | 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 | 52 | $aStoreColumns = array("name", "description" , "is_public"); |
| 25 | 53 | $aColumnNames = array("Name", "Description", "Public"); |
| 26 | 54 | $aDisplayColumnTypes = array(1,1,2); |
| ... | ... | @@ -32,7 +60,9 @@ function getFolderData($iFolderID) { |
| 32 | 60 | $oPatternEditableListFromQuery->setDropDownListTableNames($aDropDownListTableNames); |
| 33 | 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 | 122 | $sToRender .= getRightSide($iFolderID); |
| 93 | 123 | $sToRender .= "</td>\n"; |
| 94 | 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 | 126 | return $sToRender; |
| 112 | 127 | } |
| 113 | 128 | |
| ... | ... | @@ -120,8 +135,8 @@ function getLeftSide($iFolderID) { |
| 120 | 135 | $sToRender .= "</td>\n"; |
| 121 | 136 | $sToRender .= "</tr>\n"; |
| 122 | 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 | 140 | $sToRender .= "</td>\n"; |
| 126 | 141 | $sToRender .= "</tr>\n"; |
| 127 | 142 | $sToRender .= "<tr>\n"; | ... | ... |