From b52863dd3d73c892de6324d946b75b1a4a3e5c11 Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 7 Nov 2003 15:05:08 +0000 Subject: [PATCH] #3265 added code to display the archiving settings on the document details screen. --- presentation/lookAndFeel/knowledgeTree/documentmanagement/viewBL.php | 2 ++ presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc | 73 +++++++++++++++++++++++++++++++++++-------------------------------------- 2 files changed, 37 insertions(+), 38 deletions(-) diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewBL.php b/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewBL.php index 9733f13..f9e3b37 100644 --- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewBL.php +++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewBL.php @@ -50,7 +50,9 @@ require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); require_once("$default->fileSystemRoot/lib/documentmanagement/DependantDocumentInstance.inc"); require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentCollaboration.inc"); +require_once("$default->fileSystemRoot/lib/archiving/ArchivingSettings.inc"); require_once("$default->fileSystemRoot/lib/archiving/DocumentArchiving.inc"); +require_once("$default->fileSystemRoot/lib/archiving/TimePeriod.inc"); require_once("$default->fileSystemRoot/lib/foldermanagement/FolderCollaboration.inc"); require_once("$default->fileSystemRoot/lib/foldermanagement/FolderUserRole.inc"); diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc index 408ce8e..08c03ce 100644 --- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc +++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc @@ -139,44 +139,40 @@ function renderTypeSpecificMetaData($oDocument, $bEditable) { $sToRender .= "\t\n"; return $sToRender; } - -function renderEditableDocumentArchiveSettings($oDocument) { +function renderDocumentArchiveSettingsDetails($oDocument, $bEditable) { global $default; - $sQuery = "SELECT d.id, atl.name, 'Edit' AS edit FROM $default->document_archiving_table AS da " . - "INNER JOIN $default->archiving_settings_table AS ast ON da.archiving_settings_id=ast.id " . - "INNER JOIN $default->archiving_type_lookup_table AS atl ON ast.archiving_type_id=atl.id " . - "INNER JOIN $default->documents_table AS d ON da.document_id=d.id " . - "WHERE d.id = " . $oDocument->getID(); - - $aColumns = array("name", "edit"); - $aColumnHeaders = array("Archiving Type"); - $aColumnTypes = array(1,3); - $aDBColumnArray = array("id"); - $aQueryStringVariableNames = array("fDocumentID"); - $aLinkURLs = array(1=>"$default->rootUrl/control.php?action=modifyDocumentArchiveSettings"); - $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "500", $aLinkURLs ,$aDBColumnArray,$aQueryStringVariableNames); - $oPatternTableSqlQuery->setTableHeading("Archiving Settings"); - $oPatternTableSqlQuery->setEmptyTableMessage("No archiving settings"); - $oPatternTableSqlQuery->setDisplayColumnHeadings(true); - return $oPatternTableSqlQuery->render(); -} - -function renderNonEditableDocumentArchiveSettings($oDocument) { - global $default; - $sQuery = "SELECT d.id, atl.name FROM $default->document_archiving_table AS da " . - "INNER JOIN $default->archiving_settings_table AS ast ON da.archiving_settings_id=ast.id " . - "INNER JOIN $default->archiving_type_lookup_table AS atl ON ast.archiving_type_id=atl.id " . - "INNER JOIN $default->documents_table AS d ON da.document_id=d.id " . - "WHERE d.id = " . $oDocument->getID(); - - $aColumns = array("name"); - $aColumnHeaders = array("Archiving Type"); - $aColumnTypes = array(1); - $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "500", $aLinkURLs ,$aDBColumnArray,$aQueryStringVariableNames); - $oPatternTableSqlQuery->setTableHeading("Archiving Settings"); - $oPatternTableSqlQuery->setEmptyTableMessage("No archiving settings"); - $oPatternTableSqlQuery->setDisplayColumnHeadings(true); - return $oPatternTableSqlQuery->render(); + + // retrieve the appropriate settings given the document id + $oDocumentArchiving = DocumentArchiving::getFromDocumentID($oDocument->getID()); + // retrieve the settings + $oArchiveSettings = ArchivingSettings::get($oDocumentArchiving->getArchivingSettingsID()); + // switch on archiving type + $sArchivingType = lookupName($default->archiving_type_lookup_table, $oArchiveSettings->getArchivingTypeID()); + $oTimePeriod = TimePeriod::get($oArchiveSettings->getTimePeriodID()); + + switch ($sArchivingType) { + case "Date" : + $sDisplayText = "Expiration Date: " . $oArchiveSettings->getExpirationDate(); + if ($oTimePeriod) { + $sDisplayText .= "
Expires after " . $oTimePeriod->getUnits() . " "; + $sDisplayText .= lookupName($default->time_unit_lookup_table, $oTimePeriod->getTimeUnitID()) . " from document creation date"; + } + break; + case "Utilisation" : + $sDisplayText .= "Archive document " . $oTimePeriod->getUnits() . " "; + $sDisplayText .= lookupName($default->time_unit_lookup_table, $oTimePeriod->getTimeUnitID()); + $sDisplayText .= " after the last " . lookupName($default->transaction_types_table, $oArchiveSettings->getDocumentTransactionID()) . " transaction"; + break; + } + + $sToRender = ""; + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= "" . ($bEditable ? "" : ""); + $sToRender .= ""; + $sToRender .= "
Archiving Settings
Archiving Type: $sArchivingType
$sDisplayText" . generateControllerLink("modifyDocumentArchiveSettings", "fDocumentID=" . $oDocument->getID(), "Edit") . "
"; + return $sToRender; } function renderDocumentArchiveSettings($oDocument, $bEditable) { @@ -184,7 +180,8 @@ function renderDocumentArchiveSettings($oDocument, $bEditable) { $sToRender .= "\t\n"; $sToRender .= "\t\n"; - $sToRender .= "\t\t\n"; + + $sToRender .= "\t\t\n"; $sToRender .= "\t"; if ($bEditable) { $sToRender .= "\t\n"; -- libgit2 0.21.4
" . ($bEditable ? renderEditableDocumentArchiveSettings($oDocument) : renderNonEditableDocumentArchiveSettings($oDocument)) . "" . renderDocumentArchiveSettingsDetails($oDocument, $bEditable) . "