diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/archiving/archiveDocumentBL.php b/presentation/lookAndFeel/knowledgeTree/documentmanagement/archiving/archiveDocumentBL.php new file mode 100644 index 0000000..8e601f7 --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/archiving/archiveDocumentBL.php @@ -0,0 +1,71 @@ +fileSystemRoot/lib/documentmanagement/Document.inc"); + +require_once("$default->fileSystemRoot/lib/archiving/DocumentArchiveSettingsFactory.inc"); + +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternMainPage.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternTableSqlQuery.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); +require_once("$default->uiDirectory/documentmanagement/documentUI.inc"); +require_once("$default->uiDirectory/foldermanagement/folderUI.inc"); +require_once("$default->uiDirectory/documentmanagement/archiving/archiveSettingsUI.inc"); + +/** + * $Id$ + * + * Business logic for archiving a document. + * + * Licensed under the GNU GPL. For full terms see the file DOCS/COPYING. + * + * @version $Revision$ + * @author Michael Joseph , Jam Warehouse (Pty) Ltd, South Africa + * @package presentation.lookAndFeel.knowledgeTree.documentmanagement.archiving + */ + +if (checkSession()) { + global $default; + + // instantiate my content pattern + $oContent = new PatternCustom(); + + if ($fDocumentID) { + if ($fConfirmed) { + $oDocument = Document::get($fDocumentID); + if ($oDocument) { + // change the document status to archived + $oDocument->setStatusID(lookupStatusID("Archived")); + + if ($oDocument->update()) { + // redirect to folder browse + $default->log->info("archiveDocumentBL.php successfully archived document id $fDocumentID"); + redirect("$default->rootUrl/control.php?action=browse&fBrowseType=folder&fFolderID=" . $oDocument->getFolderID()); + } else { + // error + $default->log->error("archiveDocumentBL.php error archiving document id $fDocumentID"); + // display form with error + $oContent->setHtml(renderArchiveDocumentPage(null, "The archive settings for this document could not be updated")); + } + } else { + $default->log->error("archiveDocumentBL.php couldn't retrieve document id $fDocumentID from the db"); + // display page with error? + } + } else { + // display the confirmation form + $oContent->setHtml(renderArchiveConfirmationPage($fDocumentID)); + } + } else { + // error- no document reference + $oContent->setHtml(renderArchiveConfirmationPage(null, "No document supplied for archiving")); + } + + // build the page + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $main->setCentralPayload($oContent); + $main->setFormAction($_SERVER['PHP_SELF']); + $main->setHasRequiredFields(true); + $main->render(); +} +?> \ No newline at end of file diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/archiving/archiveSettingsUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/archiving/archiveSettingsUI.inc index f64ae41..c636fa5 100644 --- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/archiving/archiveSettingsUI.inc +++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/archiving/archiveSettingsUI.inc @@ -252,39 +252,31 @@ function renderAddArchiveSettingsPage($iArchivingTypeID, $sErrorMessage = "") { return $sToRender; } -function wrap($html) { - global $default; - - return " - - - - Javascript Calendar Example by Lea Smart - uiUrl/calendar.css\"> - - - -" . $html . " - -"; -} - /** * Display the confirmation page for manual archiving of a document */ -function renderArchiveConfirmationPage() { +function renderArchiveConfirmationPage($iDocumentID, $sErrorMessage = "") { + global $default; + + $sToRender .= renderHeading("Archive Document"); + if (strlen($sErrorMessage) > 0) { + $sToRender .= renderErrorMessage($sErrorMessage); + } + + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= "
You have chosen to archive the document entitled
'" . Document::getDocumentName($iDocumentID) . "'.
Select 'Archive' to confirm, or 'Cancel' to cancel.
 
graphicsUrl/widgets/archive.gif\" border=\"0\"> rootUrl/control.php?action=viewDocument&fDocumentID=" . $iDocumentID . "\">graphicsUrl/widgets/cancel.gif\" border=\"0\">
\n"; + + return $sToRender; } ?> \ No newline at end of file