diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/addDocumentBL.php b/presentation/lookAndFeel/knowledgeTree/documentmanagement/addDocumentBL.php
index b1b799e..6a3465c 100644
--- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/addDocumentBL.php
+++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/addDocumentBL.php
@@ -166,7 +166,7 @@ if (checkSession()) {
//so don't display add button
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
$oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(getStatusPage($fFolderID, "You do not have permission to add a document to this folder
rootUrl/control.php?action=browse&fFolderID=$fFolderID\"> graphicsUrl/widgets/cancel.gif\" border=\"0\"> "));
+ $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentTypeID, $fDependantDocumentID, "You do not have permission to add a document to this folderrootUrl/control.php?action=browse&fFolderID=$fFolderID\"> graphicsUrl/widgets/cancel.gif\" border=\"0\"> "));
$main->setCentralPayload($oPatternCustom);
$main->render();
}
diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/addDocumentUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/addDocumentUI.inc
index 3f12a7a..030f8cd 100644
--- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/addDocumentUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/addDocumentUI.inc
@@ -8,7 +8,7 @@
*
*/
-function getDocumentType($iFolderID, $iDocumentTypeID) {
+function getDocumentType($iFolderID, $iDocumentTypeID, $iDependantDocumentID = null) {
global $default;
$sWhereClause = "FDL.folder_id = $iFolderID";
@@ -16,7 +16,7 @@ function getDocumentType($iFolderID, $iDocumentTypeID) {
$oPatternListBox->setIncludeDefaultValue(true);
$oPatternListBox->setFromClause("INNER JOIN $default->owl_folder_doctypes_table AS FDL ON ST.id = FDL.document_type_id");
$oPatternListBox->setPostBackOnChange(true);
- $oPatternListBox->setOnChangeAction("setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fFolderID=$iFolderID')");
+ $oPatternListBox->setOnChangeAction("setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fFolderID=$iFolderID" . (isset($iDependantDocumentID) ? "&fDependantDocumentID=$iDependantDocumentID" : "") . "')");
if ($iDocumentTypeID) {
$oPatternListBox->setSelectedValue($iDocumentTypeID);
@@ -123,11 +123,24 @@ function getMetaDataForm($iFolderID, $iDocumentTypeID) {
return $sToRender;
}
-function getPage($iFolderID, $iDocumentTypeID, $iDependantDocumentID = null) {
+function getPage($iFolderID, $iDocumentTypeID, $iDependantDocumentID = null, $sMessage = "") {
global $default;
- $sToRender .= renderHeading("Add Document");
- $sToRender .= renderFolderPath($iFolderID, "", false);
+ if (isset($iDependantDocumentID)) {
+ $sQueryString = "&fDependantDocumentID=$iDependantDocumentID";
+ }
+
+ $sToRender .= renderHeading("Add " . (isset($iDependantDocumentID) ? "Dependant " : "") . "Document");
+
+ $sToRender .= renderFolderPath($iFolderID, "/control.php?action=addDocument" . $sQueryString, (isset($iDependantDocumentID) ? true : false));
+
+ if ($sMessage) {
+ $sToRender .= "\n";
+ $sToRender .= "\n";
+ $sToRender .= "\t$sMessage \n";
+ $sToRender .= " \n";
+ $sToRender .= "
\n";
+ }
if ($iDocumentTypeID) {
$sToRender .= "Document Type " . lookupName($default->owl_document_types_table, $iDocumentTypeID) . "
";
@@ -135,17 +148,34 @@ function getPage($iFolderID, $iDocumentTypeID, $iDependantDocumentID = null) {
$sToRender .= getMetaDataForm($iFolderID, $iDocumentTypeID);
$sActionButtons = " graphicsUrl/widgets/add.gif\" border=\"0\"/>";
$sToRender .= " ";
- $sActionButtons .= generateControllerLink("addDocument", "fFolderID=$iFolderID", " graphicsUrl/widgets/back.gif\" border=\"0\"/>") .
- generateControllerLink("browse", "fFolderID=$iFolderID", " graphicsUrl/widgets/cancel.gif\" border=\"0\"/>");
+ $sActionButtons .= generateControllerLink("addDocument", "fFolderID=$iFolderID" . $sQueryString , " graphicsUrl/widgets/back.gif\" border=\"0\"/>") .
+ generateControllerLink("browse", "fFolderID=$iFolderID", " graphicsUrl/widgets/cancel.gif\" border=\"0\"/>");
+
+ $sToRender .= "\n";
+ $sToRender .= "$sActionButtons ";
+ $sToRender .= "
";
+
} else {
- $sToRender .= getDocumentType($iFolderID, $iDocumentTypeID);
- $sActionButtons .= generateControllerLink("browse", "fFolderID=$iFolderID", " graphicsUrl/widgets/cancel.gif\" border=\"0\"/>");
- }
+ // only allow document type choosing if the user has write permission
+ if (Permission::userHasFolderWritePermission($iFolderID)) {
+ $sToRender .= getDocumentType($iFolderID, $iDocumentTypeID, $iDependantDocumentID);
+ $sActionButtons .= generateControllerLink("browse", "fFolderID=$iFolderID", " graphicsUrl/widgets/cancel.gif\" border=\"0\"/>");
+ }
+
+ $sToRender .= "\n";
+ $sToRender .= "$sActionButtons ";
+ $sToRender .= "
";
+
+ // display folders for browsing
+ $sToRender .= "\n";
+ $sToRender .= "\n";
+ $sToRender .= "\t" . renderFolderList($iFolderID, "/control.php?action=addDocument" . $sQueryString) . " \n";
+ $sToRender .= " \n";
+ $sToRender .= "\n";
+ $sToRender .= " ";
+ $sToRender .= "
\n";
+ }
- $sToRender .= "\n";
- $sToRender .= "$sActionButtons ";
- $sToRender .= "
";
-
return $sToRender;
}