Commit c2f835b2aed1e9ca801d2b53ac6372871c1862cb

Authored by rob
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
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";
... ...