Commit 7724dbd030b1638874c745eab6a2aeea8d921f47

Authored by rob
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
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>&nbsp</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 +?>
... ...