Commit 7724dbd030b1638874c745eab6a2aeea8d921f47
1 parent
2cd6315b
Initial revision. Assign/unassign document types to a folder
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@1176 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
4 changed files
with
192 additions
and
0 deletions
presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeBL.php
0 → 100644
| 1 | +<?php | |
| 2 | +/** | |
| 3 | +* Business logic for assigning a new document type to a folder | |
| 4 | +* | |
| 5 | +* @author Rob Cherry, Jam Warehouse South Africa (Pty) Ltd | |
| 6 | +* @date 27 February 2003 | |
| 7 | +* @package presentation.lookAndFeel.knowledgeTree.foldermanagement | |
| 8 | +*/ | |
| 9 | + | |
| 10 | +require_once("../../../../config/dmsDefaults.php"); | |
| 11 | +if (checkSession()) { | |
| 12 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); | |
| 13 | + require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); | |
| 14 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); | |
| 15 | + require_once("$default->fileSystemRoot/lib/foldermanagement/FolderDocTypeLink.inc"); | |
| 16 | + require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); | |
| 17 | + require_once("$default->fileSystemRoot/presentation/Html.inc"); | |
| 18 | + require_once("addFolderDocTypeUI.inc"); | |
| 19 | + | |
| 20 | + $oPatternCustom = & new PatternCustom(); | |
| 21 | + | |
| 22 | + if (Permission::userHasFolderWritePermission($fFolderID)) { | |
| 23 | + if (isset($fForAdd)) { | |
| 24 | + //user has selected a document type | |
| 25 | + if (Folder::folderIsLinkedToDocType($fFolderID, $fDocumentTypeID)) { | |
| 26 | + //if the folder is already assigned this document type | |
| 27 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 28 | + $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentTypeID)); | |
| 29 | + $main->setCentralPayload($oPatternCustom); | |
| 30 | + $main->setErrorMessage("The folder has already been assigned this document type"); | |
| 31 | + $main->setFormAction("addFolderDocTypeBL.php?fForAdd=1&fFolderID=$fFolderID"); | |
| 32 | + $main->render(); | |
| 33 | + | |
| 34 | + } else { | |
| 35 | + $oFolderDocType = & new FolderDocTypeLink($fFolderID,$fDocumentTypeID); | |
| 36 | + if ($oFolderDocType->create()) { | |
| 37 | + redirect("$default->rootUrl/control.php?action=editFolder&fFolderID=$fFolderID"); | |
| 38 | + } else { | |
| 39 | + //error creating document in the db | |
| 40 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 41 | + $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentTypeID)); | |
| 42 | + $main->setCentralPayload($oPatternCustom); | |
| 43 | + $main->setErrorMessage("A database error occured while attempting to assig the document type to the folder"); | |
| 44 | + $main->setFormAction("addFolderDocTypeBL.php?fForAdd=1&fFolderID=$fFolderID"); | |
| 45 | + $main->render(); | |
| 46 | + } | |
| 47 | + } | |
| 48 | + } else { | |
| 49 | + //show the user the page to assign document types | |
| 50 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 51 | + $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentTypeID)); | |
| 52 | + $main->setCentralPayload($oPatternCustom); | |
| 53 | + $main->setFormAction("addFolderDocTypeBL.php?fForAdd=1&fFolderID=$fFolderID"); | |
| 54 | + $main->render(); | |
| 55 | + } | |
| 56 | + } else { | |
| 57 | + //user does not have write permission for this folder | |
| 58 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 59 | + $oPatternCustom->setHtml(""); | |
| 60 | + $main->setCentralPayload($oPatternCustom); | |
| 61 | + $main->setErrorMessage("You do not have permission to assign a document type to this folder"); | |
| 62 | + $main->render(); | |
| 63 | + } | |
| 64 | +} | |
| 65 | + | |
| 66 | +?> | ... | ... |
presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeUI.inc
0 → 100644
| 1 | +<?php | |
| 2 | +/** | |
| 3 | +* Presentation information used by addFolderDocTypeBL.php | |
| 4 | +* | |
| 5 | +* @author Rob Cherry, Jam Warehouse South Africa (Pty) Ltd | |
| 6 | +* @date 37 February 2003 | |
| 7 | +* @package presentation.lookAndFeel.knowledgeTree.foldermanagement | |
| 8 | +*/ | |
| 9 | + | |
| 10 | +function getPage($iFolderID, $iDocumentTypeID) { | |
| 11 | + global $default; | |
| 12 | + $sToRender = "<table border=\"0\">\n"; | |
| 13 | + $sToRender .= "<tr>\n"; | |
| 14 | + $sToRender .= "\t<td>" . renderFolderPath($iFolderID, "$default->uiUrl/foldermanagement/addFolderBL.php") . "</td>\n"; | |
| 15 | + $sToRender .= "</tr>\n"; | |
| 16 | + $sToRender .= "</table>\n"; | |
| 17 | + $sToRender .= "<table border=\"0\">\n"; | |
| 18 | + $sToRender .= "<tr>\n"; | |
| 19 | + $sToRender .= "<td><b>Document type:</b></td>\n"; | |
| 20 | + $sToRender .= "<td>" . getDocumentTypeDropDown($iDocumentTypeID) . "</td>\n"; | |
| 21 | + $sToRender .= "</tr>\n"; | |
| 22 | + $sToRender .= "<tr>\n"; | |
| 23 | + $sToRender .= "<td><table border=\"0\"><tr><td><input type=\"image\" src=\"$default->graphicsUrl/widgets/add.gif\"></td><td><a href=\"$default->rootUrl/control.php?action=editFolder&fFolderID=$fFolderID\"><img src=\"$default->graphicsUrl/widgets/cancel.gif\" border=\"0\"></a></td></tr></table></td><td> </td>\n"; | |
| 24 | + $sToRender .= "</tr>\n"; | |
| 25 | + $sToRender .= "</table><br>\n"; | |
| 26 | + | |
| 27 | + return $sToRender; | |
| 28 | +} | |
| 29 | + | |
| 30 | +function getDocumentTypeDropDown($iDocumentTypeID) { | |
| 31 | + global $default; | |
| 32 | + $oPatternListBox = & new PatternListBox("$default->owl_document_types_table", "name", "id", "fDocumentTypeID"); | |
| 33 | + $oPatternListBox->setIncludeDefaultValue(false); | |
| 34 | + if (isset($iDocumentTypeID)) { | |
| 35 | + $oPatternListBox->setSelectedValue($iDocumentTypeID); | |
| 36 | + } | |
| 37 | + return $oPatternListBox->render(); | |
| 38 | +} | |
| 39 | + | |
| 40 | +?> | ... | ... |
presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeBL.php
0 → 100644
| 1 | +<?php | |
| 2 | +/** | |
| 3 | +* Business logic for removing a document type from a folder | |
| 4 | +* | |
| 5 | +* @author Rob Cherry, Jam Warehouse South Africa (Pty) Ltd | |
| 6 | +* @date 27 February 2003 | |
| 7 | +* @package presentation.lookAndFeel.knowledgeTree.foldermanagement | |
| 8 | +*/ | |
| 9 | + | |
| 10 | +require_once("../../../../config/dmsDefaults.php"); | |
| 11 | +if (checkSession()) { | |
| 12 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); | |
| 13 | + require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); | |
| 14 | + require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); | |
| 15 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); | |
| 16 | + require_once("$default->fileSystemRoot/lib/foldermanagement/FolderDocTypeLink.inc"); | |
| 17 | + require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); | |
| 18 | + require_once("$default->fileSystemRoot/presentation/Html.inc"); | |
| 19 | + require_once("deleteFolderDocTypeUI.inc"); | |
| 20 | + | |
| 21 | + $oPatternCustom = & new PatternCustom(); | |
| 22 | + | |
| 23 | + if (Permission::userHasFolderWritePermission($fFolderID)) { | |
| 24 | + //user has permission to delete | |
| 25 | + if (isset($fFolderDocTypeID)) { | |
| 26 | + //the required variables exist | |
| 27 | + if (Document::documentIsAssignedDocTypeInFolder($fFolderID, $fFolderDocTypeID)) { | |
| 28 | + //there is a document in the folder assigned this type, so | |
| 29 | + //it may not be deleted | |
| 30 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 31 | + $oPatternCustom->setHtml(getPage($fFolderID)); | |
| 32 | + $main->setCentralPayload($oPatternCustom); | |
| 33 | + $main->setErrorMessage("A document in this folder is currently assigned this type. You may not delete it."); | |
| 34 | + $main->render(); | |
| 35 | + } else { | |
| 36 | + //go ahead and delete | |
| 37 | + $oFolderDocTypeLink = FolderDocTypeLink::get($fFolderDocTypeID); | |
| 38 | + if ($oFolderDocTypeLink->delete()) { | |
| 39 | + redirect("$default->rootUrl/control.php?action=editFolder&fFolderID=$fFolderID"); | |
| 40 | + } else { | |
| 41 | + //there was a problem deleting from the database | |
| 42 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 43 | + $oPatternCustom->setHtml(getPage($fFolderID)); | |
| 44 | + $main->setCentralPayload($oPatternCustom); | |
| 45 | + $main->setErrorMessage("An error was encountered while attempting to delete this link from the database"); | |
| 46 | + $main->render(); | |
| 47 | + } | |
| 48 | + } | |
| 49 | + } | |
| 50 | + } else { | |
| 51 | + //user does not have permission to delete this document type | |
| 52 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 53 | + $oPatternCustom->setHtml(getPage($fFolderID)); | |
| 54 | + $main->setCentralPayload($oPatternCustom); | |
| 55 | + $main->setErrorMessage("You do not have permission to remove this document type from this folder"); | |
| 56 | + $main->render(); | |
| 57 | + } | |
| 58 | +} | |
| 59 | +?> | ... | ... |
presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeUI.inc
0 → 100644
| 1 | +<?php | |
| 2 | + | |
| 3 | +/** | |
| 4 | +* Presentation information used by deleteFolderDocTypeUI.inc | |
| 5 | +* | |
| 6 | +* @author Rob Cherry, Jam Warehouse South Africa (Pty) Ltd | |
| 7 | +* @date 27 February 2003 | |
| 8 | +* @package presentation.lookAndFeel.knowledgeTree.foldermanagement | |
| 9 | +*/ | |
| 10 | + | |
| 11 | +function getPage($iFolderID) { | |
| 12 | + global $default; | |
| 13 | + $sToRender = "<table border=\"0\">\n"; | |
| 14 | + $sToRender .= "<tr>\n"; | |
| 15 | + $sToRender .= "\t<td>" . renderFolderPath($iFolderID, "$default->uiUrl/control.php?action=editFolder&fFolderID=$iFolderID") . "</td>\n"; | |
| 16 | + $sToRender .= "</tr>\n"; | |
| 17 | + $sToRender .= "</table>\n"; | |
| 18 | + $sToRender .= "<table border=\"0\">\n"; | |
| 19 | + $sToRender .= "<tr>\n"; | |
| 20 | + $sToRender .= "<td><a href=\"$default->rootUrl/control.php?action=editFolder&fFolderID=$iFolderID\"><img src=\"$default->graphicsUrl/widgets/back.gif\" border=\"0\"></a></td>\n"; | |
| 21 | + $sToRender .= "</tr>\n"; | |
| 22 | + $sToRender .= "</table><br>\n"; | |
| 23 | + | |
| 24 | + return $sToRender; | |
| 25 | +} | |
| 26 | + | |
| 27 | +?> | ... | ... |