Commit f92d28af77e473cb7e0d4846e120d8a44c65e9ee
1 parent
7eff7015
added functionality to edit existing dependant document
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@1874 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
2 changed files
with
78 additions
and
20 deletions
presentation/lookAndFeel/knowledgeTree/foldermanagement/viewDependantDocumentsBL.php
| @@ -14,13 +14,13 @@ | @@ -14,13 +14,13 @@ | ||
| 14 | 14 | ||
| 15 | require_once("../../../../config/dmsDefaults.php"); | 15 | require_once("../../../../config/dmsDefaults.php"); |
| 16 | 16 | ||
| 17 | -if (checkSession()) { | ||
| 18 | - echo $fTemplateDocument; | ||
| 19 | - echo $fDocumentID; | 17 | +if (checkSession()) { |
| 20 | if (isset($fFolderID) && isset($fFolderCollaborationID)) { | 18 | if (isset($fFolderID) && isset($fFolderCollaborationID)) { |
| 21 | require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); | 19 | require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); |
| 22 | require_once("$default->fileSystemRoot/lib/foldermanagement/FolderCollaboration.inc"); | 20 | require_once("$default->fileSystemRoot/lib/foldermanagement/FolderCollaboration.inc"); |
| 23 | require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); | 21 | require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); |
| 22 | + require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); | ||
| 23 | + require_once("$default->fileSystemRoot/lib/users/User.inc"); | ||
| 24 | require_once("$default->fileSystemRoot/lib/documentmanagement/DependantDocumentTemplate.inc"); | 24 | require_once("$default->fileSystemRoot/lib/documentmanagement/DependantDocumentTemplate.inc"); |
| 25 | require_once("$default->fileSystemRoot/presentation/Html.inc"); | 25 | require_once("$default->fileSystemRoot/presentation/Html.inc"); |
| 26 | require_once("$default->fileSystemRoot/lib/visualpatterns/PatternTableSqlQuery.inc"); | 26 | require_once("$default->fileSystemRoot/lib/visualpatterns/PatternTableSqlQuery.inc"); |
| @@ -31,7 +31,7 @@ if (checkSession()) { | @@ -31,7 +31,7 @@ if (checkSession()) { | ||
| 31 | //folder and collaboration are selected | 31 | //folder and collaboration are selected |
| 32 | if (isset($fForStore)) { | 32 | if (isset($fForStore)) { |
| 33 | $oDependantDocumentTemplate; | 33 | $oDependantDocumentTemplate; |
| 34 | - if ($fTemplateDocumentID == "-1") { | 34 | + if ($fTemplateDocumentID == "-1") { |
| 35 | $oDependantDocumentTemplate = & new DependantDocumentTemplate($fDocumentTitle, $fUserID, $fFolderCollaborationID); | 35 | $oDependantDocumentTemplate = & new DependantDocumentTemplate($fDocumentTitle, $fUserID, $fFolderCollaborationID); |
| 36 | } else { | 36 | } else { |
| 37 | $oDependantDocumentTemplate = & new DependantDocumentTemplate($fDocumentTitle, $fUserID, $fFolderCollaborationID, $fTemplateDocumentID); | 37 | $oDependantDocumentTemplate = & new DependantDocumentTemplate($fDocumentTitle, $fUserID, $fFolderCollaborationID, $fTemplateDocumentID); |
| @@ -74,25 +74,40 @@ if (checkSession()) { | @@ -74,25 +74,40 @@ if (checkSession()) { | ||
| 74 | } else if (isset($fForEdit)) { | 74 | } else if (isset($fForEdit)) { |
| 75 | $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID); | 75 | $oFolderCollaboration = FolderCollaboration::get($fFolderCollaborationID); |
| 76 | if ($oFolderCollaboration->hasDocumentInProcess()) { | 76 | if ($oFolderCollaboration->hasDocumentInProcess()) { |
| 77 | + //can't edit if there is a document currently undergoing collaboration | ||
| 77 | include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | 78 | include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); |
| 78 | 79 | ||
| 79 | $oPatternCustom = & new PatternCustom(); | 80 | $oPatternCustom = & new PatternCustom(); |
| 80 | $oPatternCustom->setHtml(getViewPage($fFolderCollaborationID, $fFolderID)); | 81 | $oPatternCustom->setHtml(getViewPage($fFolderCollaborationID, $fFolderID)); |
| 81 | $main->setCentralPayload($oPatternCustom); | 82 | $main->setCentralPayload($oPatternCustom); |
| 82 | - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForAdd=1"); | 83 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForUpdate=1"); |
| 83 | $main->setErrorMessage("You cannot add a new depedant document as there is currently a document in this folder undergoing collaboration"); | 84 | $main->setErrorMessage("You cannot add a new depedant document as there is currently a document in this folder undergoing collaboration"); |
| 84 | $main->render(); | 85 | $main->render(); |
| 85 | 86 | ||
| 86 | } else { | 87 | } else { |
| 87 | - include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | 88 | + include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); |
| 88 | 89 | ||
| 89 | - /*$oPatternCustom = & new PatternCustom(); | ||
| 90 | - $oPatternCustom->setHtml(getAddPage($fFolderCollaborationID, $fFolderID, (isset($fUnitID) ? $fUnitID : -1), (isset($fDocumentTitle) ? $fDocumentTitle : ""), (isset($fTemplateDocument) ? $fTemplateDocument : ""), (isset($fDocumentID) ? $fDocumentID : "") )); | 90 | + $oDependantDocumentTemplate = DependantDocumentTemplate::get($fDependantDocumentTemplateID); |
| 91 | + if ($oDependantDocumentTemplate->getTemplateDocumentID() >= 1) { | ||
| 92 | + $oDocument = Document::get($oDependantDocumentTemplate->getTemplateDocumentID()); | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + $oPatternCustom = & new PatternCustom(); | ||
| 96 | + $oPatternCustom->setHtml(getEditPage($fFolderID, $fDependantDocumentTemplateID, $fFolderCollaborationID, $oDependantDocumentTemplate->getDocumentTitle(), (isset($oDocument) ? $oDocument->getName() : ""), (isset($oDocument) ? $oDependantDocumentTemplate->getTemplateDocumentID() : null), $oDependantDocumentTemplate->getDefaultUserID())); | ||
| 91 | $main->setCentralPayload($oPatternCustom); | 97 | $main->setCentralPayload($oPatternCustom); |
| 92 | - $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForStore=1"); | 98 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fDependantDocumentTemplateID=$fDependantDocumentTemplateID&fForUpdate=1"); |
| 93 | $main->setHasRequiredFields(true); | 99 | $main->setHasRequiredFields(true); |
| 94 | - $main->render();*/ | ||
| 95 | - } | 100 | + $main->render(); |
| 101 | + } | ||
| 102 | + } else if (isset($fForUpdate)) { | ||
| 103 | + $oDependantDocumentTemplate = DependantDocumentTemplate::get($fDependantDocumentTemplateID); | ||
| 104 | + $oDependantDocumentTemplate->setDefaultUserID($fUserID); | ||
| 105 | + $oDependantDocumentTemplate->setDocumentTitle($fDocumentTitle); | ||
| 106 | + $oDependantDocumentTemplate->setTemplateDocumentID((isset($fTemplateDocumentID) ? $fTemplateDocumentID : null)); | ||
| 107 | + $oDependantDocumentTemplate->update(); | ||
| 108 | + | ||
| 109 | + redirect("$default->rootUrl/control.php?action=viewDependantDocument&fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID"); | ||
| 110 | + | ||
| 96 | } else { | 111 | } else { |
| 97 | include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | 112 | include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); |
| 98 | 113 | ||
| @@ -101,7 +116,7 @@ if (checkSession()) { | @@ -101,7 +116,7 @@ if (checkSession()) { | ||
| 101 | $main->setCentralPayload($oPatternCustom); | 116 | $main->setCentralPayload($oPatternCustom); |
| 102 | $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForAdd=1"); | 117 | $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fFolderCollaborationID=$fFolderCollaborationID&fForAdd=1"); |
| 103 | $main->render(); | 118 | $main->render(); |
| 104 | - } | 119 | + } |
| 105 | 120 | ||
| 106 | } | 121 | } |
| 107 | 122 |
presentation/lookAndFeel/knowledgeTree/foldermanagement/viewDependantDocumentsUI.inc
| @@ -23,7 +23,7 @@ function getFolderPath($iFolderID) { | @@ -23,7 +23,7 @@ function getFolderPath($iFolderID) { | ||
| 23 | 23 | ||
| 24 | function getDocumentLinkFolderCollaborationData($iFolderCollaborationID) { | 24 | function getDocumentLinkFolderCollaborationData($iFolderCollaborationID) { |
| 25 | global $default; | 25 | global $default; |
| 26 | - $sQuery = "SELECT DDT.id, U.name AS username, DDT.document_title, D.name AS template_document_name, D.id AS template_document_id, DDT.group_folder_approval_link_id, 'Edit' AS edit " . | 26 | + $sQuery = "SELECT DDT.id, GFAL.folder_id AS folder_id, U.name AS username, DDT.document_title, D.name AS template_document_name, D.id AS template_document_id, DDT.group_folder_approval_link_id, 'Edit' AS edit " . |
| 27 | "FROM dependant_document_template AS DDT INNER JOIN groups_folders_approval_link AS GFAL ON DDT.group_folder_approval_link_id = GFAL.id " . | 27 | "FROM dependant_document_template AS DDT INNER JOIN groups_folders_approval_link AS GFAL ON DDT.group_folder_approval_link_id = GFAL.id " . |
| 28 | "INNER JOIN users AS U ON U.id = DDT.default_user_id " . | 28 | "INNER JOIN users AS U ON U.id = DDT.default_user_id " . |
| 29 | "LEFT OUTER JOIN documents AS D ON D.id = DDT.template_document_id " . | 29 | "LEFT OUTER JOIN documents AS D ON D.id = DDT.template_document_id " . |
| @@ -33,8 +33,10 @@ function getDocumentLinkFolderCollaborationData($iFolderCollaborationID) { | @@ -33,8 +33,10 @@ function getDocumentLinkFolderCollaborationData($iFolderCollaborationID) { | ||
| 33 | $aColumns = array("document_title", "username", "template_document_name","edit"); | 33 | $aColumns = array("document_title", "username", "template_document_name","edit"); |
| 34 | $aColumnHeaders = array("Document title", "Default creator", "Template document", "Edit"); | 34 | $aColumnHeaders = array("Document title", "Default creator", "Template document", "Edit"); |
| 35 | $aColumnTypes = array(1,1,3,3); | 35 | $aColumnTypes = array(1,1,3,3); |
| 36 | - $aDBColumnArray = array("id","group_folder_approval_link_id","template_document_id"); | ||
| 37 | - $aQueryStringVariableNames = array("fDependantDocumentTemplateID", "fFolderCollaborationID", "fDocumentID"); | 36 | + //$aDBColumnArray = array("id","group_folder_approval_link_id","template_document_id"); |
| 37 | + $aDBColumnArray = array("id","group_folder_approval_link_id","folder_id"); | ||
| 38 | + //$aQueryStringVariableNames = array("fDependantDocumentTemplateID", "fFolderCollaborationID", "fDocumentID"); | ||
| 39 | + $aQueryStringVariableNames = array("fDependantDocumentTemplateID","fFolderCollaborationID","fFolderID"); | ||
| 38 | $aLinkURLs = array(2=>"$default->rootUrl/control.php?action=viewDocument", 3=>"$default->rootUrl/control.php?action=viewDependantDocument&fForEdit=1"); | 40 | $aLinkURLs = array(2=>"$default->rootUrl/control.php?action=viewDocument", 3=>"$default->rootUrl/control.php?action=viewDependantDocument&fForEdit=1"); |
| 39 | 41 | ||
| 40 | $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "90%", $aLinkURLs, $aDBColumnArray,$aQueryStringVariableNames); | 42 | $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "90%", $aLinkURLs, $aDBColumnArray,$aQueryStringVariableNames); |
| @@ -63,10 +65,46 @@ function getViewPage($iFolderCollaborationID, $iFolderID) { | @@ -63,10 +65,46 @@ function getViewPage($iFolderCollaborationID, $iFolderID) { | ||
| 63 | return $sToRender; | 65 | return $sToRender; |
| 64 | } | 66 | } |
| 65 | 67 | ||
| 66 | -function getEditPage() { | 68 | +function getEditPage($iFolderID, $iDependantDocumentID, $iFolderCollaborationID, $sDocumentTitle, $sTemplateDocumentName, $iDocumentID, $iUserID) { |
| 69 | + global $default; | ||
| 70 | + $iDefaultUserUnitID = User::getUnitID($iUserID); | ||
| 71 | + | ||
| 72 | + $sToRender = renderHeading("Dependant documents"); | ||
| 73 | + $sToRender .= getFolderPath($iFolderID); | ||
| 74 | + $sToRender .= "<table border=\"0\" width=\"100%\">\n"; | ||
| 75 | + $sToRender .= "<tr>\n"; | ||
| 76 | + $sToRender .= "<td>Document title</td><td><input type=\"text\" name=\"fDocumentTitle\" value=\"$sDocumentTitle\" /></td>\n"; | ||
| 77 | + $sToRender .= "</tr>\n"; | ||
| 78 | + $sToRender .= "<tr>\n"; | ||
| 79 | + $sToRender .= "<td>User's Unit</td><td>" . getUnitDropDown($iFolderCollaborationID, $iFolderID, $iDefaultUserUnitID) . "</td>\n"; | ||
| 80 | + $sToRender .= "</tr>\n"; | ||
| 81 | + $sToRender .= "<tr>\n"; | ||
| 82 | + $sToRender .= "<td>User</td><td>" . getUserDropDown($iDefaultUserUnitID, $iUserID) . "</td>\n"; | ||
| 83 | + $sToRender .= "</tr>\n"; | ||
| 84 | + $sToRender .= "<tr>\n"; | ||
| 85 | + | ||
| 86 | + //had a slight problem with netscape 4.7x - it doesn't support disabled. So I had to use | ||
| 87 | + //javascript to set the onFocus attribute to blur | ||
| 88 | + $bAddNetscapeScript = false; | ||
| 89 | + if (! (($default->phpSniff->property("browser") == "moz") && ($default->phpSniff->property("version") <= "4.79")) ) { | ||
| 90 | + //for any other browser but netscape 4.7 do this | ||
| 91 | + $sToRender .= "<td>Template document</td><td><input type=\"text\" DISABLED name=\"fTemplateDocument\" value=\"$sTemplateDocumentName\" /><input type=\"button\" value=\"Browse\" onClick=\"newWindow('http://ktdev/control.php?action=templateBrowse','window2')\"></td>\n"; | ||
| 92 | + }else { | ||
| 93 | + //for netscape 4.7 do this | ||
| 94 | + $sToRender .= "<td>Template document</td><td><input type=\"text\" value=\"$sTemplateDocumentName\" name=\"fTemplateDocument\" onblur=\"disable(document.MainForm.fTemplateDocument);\" /><input type=\"button\" value=\"Browse\" onClick=\"disable(document.MainForm.fTemplateDocument);newWindow('http://ktdev/control.php?action=templateBrowse','window2')\"></td>\n"; | ||
| 95 | + $bAddNetscapeScript = true; | ||
| 96 | + } | ||
| 97 | + $sToRender .= "</tr>\n"; | ||
| 98 | + $sToRender .= "<tr>\n"; | ||
| 99 | + $sToRender .= "<td><table><tr><td><input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" border=\"0\"/></td><td><a href=\"" . $default->rootUrl . "/control.php?action=viewDependantDocument&fFolderID=$iFolderID&fFolderCollaborationID=$iFolderCollaborationID\"><img src=\"$default->graphicsUrl/widgets/cancel.gif\" border=\"0\"/></a></td></tr></table>\n"; | ||
| 100 | + $sToRender .= "</tr>\n"; | ||
| 101 | + $sToRender .= "</table>\n"; | ||
| 102 | + $sToRender .= "<input type=\"hidden\" name=\"fTemplateDocumentID\" value=\"-1\" />\n"; | ||
| 67 | 103 | ||
| 104 | + return $sToRender . "\n\n" . getValidationJavaScript() . "\n\n" . getBrowseJavaScript() . ($bAddNetscapeScript ? getNetscapeDisableScript() : ""); | ||
| 68 | } | 105 | } |
| 69 | 106 | ||
| 107 | + | ||
| 70 | function getAddPage($iFolderCollaborationID, $iFolderID, $iUnitID, $sDocumentTitle, $sTemplateDocument, $iDocumentID) { | 108 | function getAddPage($iFolderCollaborationID, $iFolderID, $iUnitID, $sDocumentTitle, $sTemplateDocument, $iDocumentID) { |
| 71 | global $default; | 109 | global $default; |
| 72 | $sToRender = renderHeading("Dependant documents"); | 110 | $sToRender = renderHeading("Dependant documents"); |
| @@ -96,7 +134,7 @@ function getAddPage($iFolderCollaborationID, $iFolderID, $iUnitID, $sDocumentTit | @@ -96,7 +134,7 @@ function getAddPage($iFolderCollaborationID, $iFolderID, $iUnitID, $sDocumentTit | ||
| 96 | } | 134 | } |
| 97 | $sToRender .= "</tr>\n"; | 135 | $sToRender .= "</tr>\n"; |
| 98 | $sToRender .= "<tr>\n"; | 136 | $sToRender .= "<tr>\n"; |
| 99 | - $sToRender .= "<td><table><tr><td><input type=\"image\" src=\"$default->graphicsUrl/widgets/done.gif\" border=\"0\"/></td><td><a href=\"" . $default->rootUrl . "\"><img src=\"$default->graphicsUrl/widgets/cancel.gif\" border=\"0\"/></a></td></tr></table>\n"; | 137 | + $sToRender .= "<td><table><tr><td><input type=\"image\" src=\"$default->graphicsUrl/widgets/done.gif\" border=\"0\"/></td><td><a href=\"" . $default->rootUrl . "/control.php?action=viewDependantDocument&fFolderID=$iFolderID&fFolderCollaborationID=$iFolderCollaborationID\"><img src=\"$default->graphicsUrl/widgets/cancel.gif\" border=\"0\"/></a></td></tr></table>\n"; |
| 100 | $sToRender .= "</tr>\n"; | 138 | $sToRender .= "</tr>\n"; |
| 101 | $sToRender .= "</table>\n"; | 139 | $sToRender .= "</table>\n"; |
| 102 | $sToRender .= "<input type=\"hidden\" name=\"fTemplateDocumentID\" value=\"-1\" />\n"; | 140 | $sToRender .= "<input type=\"hidden\" name=\"fTemplateDocumentID\" value=\"-1\" />\n"; |
| @@ -104,23 +142,28 @@ function getAddPage($iFolderCollaborationID, $iFolderID, $iUnitID, $sDocumentTit | @@ -104,23 +142,28 @@ function getAddPage($iFolderCollaborationID, $iFolderID, $iUnitID, $sDocumentTit | ||
| 104 | return $sToRender . "\n\n" . getValidationJavaScript() . "\n\n" . getBrowseJavaScript() . ($bAddNetscapeScript ? getNetscapeDisableScript() : ""); | 142 | return $sToRender . "\n\n" . getValidationJavaScript() . "\n\n" . getBrowseJavaScript() . ($bAddNetscapeScript ? getNetscapeDisableScript() : ""); |
| 105 | } | 143 | } |
| 106 | 144 | ||
| 107 | -function getUserDropDown($iUnitID) { | 145 | +function getUserDropDown($iUnitID, $iUserID = null) { |
| 108 | global $default; | 146 | global $default; |
| 109 | $oPatternListBox = & new PatternListBox($default->owl_users_table, "Name", "id", "fUserID", "GUL.unit_id = $iUnitID"); | 147 | $oPatternListBox = & new PatternListBox($default->owl_users_table, "Name", "id", "fUserID", "GUL.unit_id = $iUnitID"); |
| 110 | $sFromClause = "INNER join users_groups_link AS UGL ON UGL.user_id = ST.id " . | 148 | $sFromClause = "INNER join users_groups_link AS UGL ON UGL.user_id = ST.id " . |
| 111 | "INNER JOIN groups_units_link AS GUL ON GUL.group_id = UGL.group_id "; | 149 | "INNER JOIN groups_units_link AS GUL ON GUL.group_id = UGL.group_id "; |
| 112 | $oPatternListBox->setFromClause($sFromClause); | 150 | $oPatternListBox->setFromClause($sFromClause); |
| 151 | + if (isset($iUserID)) { | ||
| 152 | + $oPatternListBox->setSelectedValue($iUserID); | ||
| 153 | + } | ||
| 113 | return $oPatternListBox->render(); | 154 | return $oPatternListBox->render(); |
| 114 | 155 | ||
| 115 | 156 | ||
| 116 | } | 157 | } |
| 117 | 158 | ||
| 118 | -function getUnitDropDown($iFolderCollaborationID, $iFolderID, $iUnitID) { | 159 | +function getUnitDropDown($iFolderCollaborationID, $iFolderID, $iUnitID = null) { |
| 119 | global $default; | 160 | global $default; |
| 120 | $oPatternListBox = & new PatternListBox($default->owl_units_table, "Name", "id", "fUnitID"); | 161 | $oPatternListBox = & new PatternListBox($default->owl_units_table, "Name", "id", "fUnitID"); |
| 121 | $oPatternListBox->setPostBackOnChange(true); | 162 | $oPatternListBox->setPostBackOnChange(true); |
| 122 | $oPatternListBox->setOnChangeAction("setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fFolderID=$iFolderID&fFolderCollaborationID=$iFolderCollaborationID&fForAdd=1')"); | 163 | $oPatternListBox->setOnChangeAction("setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fFolderID=$iFolderID&fFolderCollaborationID=$iFolderCollaborationID&fForAdd=1')"); |
| 123 | - $oPatternListBox->setSelectedValue($iUnitID); | 164 | + if (isset($iUnitID)) { |
| 165 | + $oPatternListBox->setSelectedValue($iUnitID); | ||
| 166 | + } | ||
| 124 | return $oPatternListBox->render(); | 167 | return $oPatternListBox->render(); |
| 125 | } | 168 | } |
| 126 | 169 |