From 7724dbd030b1638874c745eab6a2aeea8d921f47 Mon Sep 17 00:00:00 2001 From: rob Date: Thu, 27 Feb 2003 15:28:11 +0000 Subject: [PATCH] Initial revision. Assign/unassign document types to a folder --- presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeBL.php | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeUI.inc | 40 ++++++++++++++++++++++++++++++++++++++++ presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeBL.php | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeUI.inc | 27 +++++++++++++++++++++++++++ 4 files changed, 192 insertions(+), 0 deletions(-) create mode 100644 presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeBL.php create mode 100644 presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeUI.inc create mode 100644 presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeBL.php create mode 100644 presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeUI.inc diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeBL.php b/presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeBL.php new file mode 100644 index 0000000..645dbac --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeBL.php @@ -0,0 +1,66 @@ +fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); + require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); + require_once("$default->fileSystemRoot/lib/foldermanagement/FolderDocTypeLink.inc"); + require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); + require_once("$default->fileSystemRoot/presentation/Html.inc"); + require_once("addFolderDocTypeUI.inc"); + + $oPatternCustom = & new PatternCustom(); + + if (Permission::userHasFolderWritePermission($fFolderID)) { + if (isset($fForAdd)) { + //user has selected a document type + if (Folder::folderIsLinkedToDocType($fFolderID, $fDocumentTypeID)) { + //if the folder is already assigned this document type + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentTypeID)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("The folder has already been assigned this document type"); + $main->setFormAction("addFolderDocTypeBL.php?fForAdd=1&fFolderID=$fFolderID"); + $main->render(); + + } else { + $oFolderDocType = & new FolderDocTypeLink($fFolderID,$fDocumentTypeID); + if ($oFolderDocType->create()) { + redirect("$default->rootUrl/control.php?action=editFolder&fFolderID=$fFolderID"); + } else { + //error creating document in the db + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentTypeID)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("A database error occured while attempting to assig the document type to the folder"); + $main->setFormAction("addFolderDocTypeBL.php?fForAdd=1&fFolderID=$fFolderID"); + $main->render(); + } + } + } else { + //show the user the page to assign document types + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentTypeID)); + $main->setCentralPayload($oPatternCustom); + $main->setFormAction("addFolderDocTypeBL.php?fForAdd=1&fFolderID=$fFolderID"); + $main->render(); + } + } else { + //user does not have write permission for this folder + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom->setHtml(""); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("You do not have permission to assign a document type to this folder"); + $main->render(); + } +} + +?> diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeUI.inc b/presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeUI.inc new file mode 100644 index 0000000..2dc56ac --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/addFolderDocTypeUI.inc @@ -0,0 +1,40 @@ +\n"; + $sToRender .= "\n"; + $sToRender .= "\t" . renderFolderPath($iFolderID, "$default->uiUrl/foldermanagement/addFolderBL.php") . "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "
Document type:" . getDocumentTypeDropDown($iDocumentTypeID) . "
graphicsUrl/widgets/add.gif\">rootUrl/control.php?action=editFolder&fFolderID=$fFolderID\">graphicsUrl/widgets/cancel.gif\" border=\"0\">
 

\n"; + + return $sToRender; +} + +function getDocumentTypeDropDown($iDocumentTypeID) { + global $default; + $oPatternListBox = & new PatternListBox("$default->owl_document_types_table", "name", "id", "fDocumentTypeID"); + $oPatternListBox->setIncludeDefaultValue(false); + if (isset($iDocumentTypeID)) { + $oPatternListBox->setSelectedValue($iDocumentTypeID); + } + return $oPatternListBox->render(); +} + +?> diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeBL.php b/presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeBL.php new file mode 100644 index 0000000..5ea0205 --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeBL.php @@ -0,0 +1,59 @@ +fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); + require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); + require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); + require_once("$default->fileSystemRoot/lib/foldermanagement/FolderDocTypeLink.inc"); + require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); + require_once("$default->fileSystemRoot/presentation/Html.inc"); + require_once("deleteFolderDocTypeUI.inc"); + + $oPatternCustom = & new PatternCustom(); + + if (Permission::userHasFolderWritePermission($fFolderID)) { + //user has permission to delete + if (isset($fFolderDocTypeID)) { + //the required variables exist + if (Document::documentIsAssignedDocTypeInFolder($fFolderID, $fFolderDocTypeID)) { + //there is a document in the folder assigned this type, so + //it may not be deleted + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom->setHtml(getPage($fFolderID)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("A document in this folder is currently assigned this type. You may not delete it."); + $main->render(); + } else { + //go ahead and delete + $oFolderDocTypeLink = FolderDocTypeLink::get($fFolderDocTypeID); + if ($oFolderDocTypeLink->delete()) { + redirect("$default->rootUrl/control.php?action=editFolder&fFolderID=$fFolderID"); + } else { + //there was a problem deleting from the database + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom->setHtml(getPage($fFolderID)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("An error was encountered while attempting to delete this link from the database"); + $main->render(); + } + } + } + } else { + //user does not have permission to delete this document type + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom->setHtml(getPage($fFolderID)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("You do not have permission to remove this document type from this folder"); + $main->render(); + } +} +?> diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeUI.inc b/presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeUI.inc new file mode 100644 index 0000000..8c979fc --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/deleteFolderDocTypeUI.inc @@ -0,0 +1,27 @@ +\n"; + $sToRender .= "\n"; + $sToRender .= "\t" . renderFolderPath($iFolderID, "$default->uiUrl/control.php?action=editFolder&fFolderID=$iFolderID") . "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "
rootUrl/control.php?action=editFolder&fFolderID=$iFolderID\">graphicsUrl/widgets/back.gif\" border=\"0\">

\n"; + + return $sToRender; +} + +?> -- libgit2 0.21.4