Commit b52863dd3d73c892de6324d946b75b1a4a3e5c11

Authored by michael
1 parent 6a8ebfd5

#3265 added code to display the archiving settings on the document details screen.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@2761 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/documentmanagement/viewBL.php
... ... @@ -50,7 +50,9 @@ require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc");
50 50 require_once("$default->fileSystemRoot/lib/documentmanagement/DependantDocumentInstance.inc");
51 51 require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentCollaboration.inc");
52 52  
  53 +require_once("$default->fileSystemRoot/lib/archiving/ArchivingSettings.inc");
53 54 require_once("$default->fileSystemRoot/lib/archiving/DocumentArchiving.inc");
  55 +require_once("$default->fileSystemRoot/lib/archiving/TimePeriod.inc");
54 56  
55 57 require_once("$default->fileSystemRoot/lib/foldermanagement/FolderCollaboration.inc");
56 58 require_once("$default->fileSystemRoot/lib/foldermanagement/FolderUserRole.inc");
... ...
presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc
... ... @@ -139,44 +139,40 @@ function renderTypeSpecificMetaData($oDocument, $bEditable) {
139 139 $sToRender .= "\t</table>\n";
140 140 return $sToRender;
141 141 }
142   -
143   -function renderEditableDocumentArchiveSettings($oDocument) {
  142 +function renderDocumentArchiveSettingsDetails($oDocument, $bEditable) {
144 143 global $default;
145   - $sQuery = "SELECT d.id, atl.name, 'Edit' AS edit FROM $default->document_archiving_table AS da " .
146   - "INNER JOIN $default->archiving_settings_table AS ast ON da.archiving_settings_id=ast.id " .
147   - "INNER JOIN $default->archiving_type_lookup_table AS atl ON ast.archiving_type_id=atl.id " .
148   - "INNER JOIN $default->documents_table AS d ON da.document_id=d.id " .
149   - "WHERE d.id = " . $oDocument->getID();
150   -
151   - $aColumns = array("name", "edit");
152   - $aColumnHeaders = array("Archiving Type");
153   - $aColumnTypes = array(1,3);
154   - $aDBColumnArray = array("id");
155   - $aQueryStringVariableNames = array("fDocumentID");
156   - $aLinkURLs = array(1=>"$default->rootUrl/control.php?action=modifyDocumentArchiveSettings");
157   - $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "500", $aLinkURLs ,$aDBColumnArray,$aQueryStringVariableNames);
158   - $oPatternTableSqlQuery->setTableHeading("Archiving Settings");
159   - $oPatternTableSqlQuery->setEmptyTableMessage("No archiving settings");
160   - $oPatternTableSqlQuery->setDisplayColumnHeadings(true);
161   - return $oPatternTableSqlQuery->render();
162   -}
163   -
164   -function renderNonEditableDocumentArchiveSettings($oDocument) {
165   - global $default;
166   - $sQuery = "SELECT d.id, atl.name FROM $default->document_archiving_table AS da " .
167   - "INNER JOIN $default->archiving_settings_table AS ast ON da.archiving_settings_id=ast.id " .
168   - "INNER JOIN $default->archiving_type_lookup_table AS atl ON ast.archiving_type_id=atl.id " .
169   - "INNER JOIN $default->documents_table AS d ON da.document_id=d.id " .
170   - "WHERE d.id = " . $oDocument->getID();
171   -
172   - $aColumns = array("name");
173   - $aColumnHeaders = array("Archiving Type");
174   - $aColumnTypes = array(1);
175   - $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "500", $aLinkURLs ,$aDBColumnArray,$aQueryStringVariableNames);
176   - $oPatternTableSqlQuery->setTableHeading("Archiving Settings");
177   - $oPatternTableSqlQuery->setEmptyTableMessage("No archiving settings");
178   - $oPatternTableSqlQuery->setDisplayColumnHeadings(true);
179   - return $oPatternTableSqlQuery->render();
  144 +
  145 + // retrieve the appropriate settings given the document id
  146 + $oDocumentArchiving = DocumentArchiving::getFromDocumentID($oDocument->getID());
  147 + // retrieve the settings
  148 + $oArchiveSettings = ArchivingSettings::get($oDocumentArchiving->getArchivingSettingsID());
  149 + // switch on archiving type
  150 + $sArchivingType = lookupName($default->archiving_type_lookup_table, $oArchiveSettings->getArchivingTypeID());
  151 + $oTimePeriod = TimePeriod::get($oArchiveSettings->getTimePeriodID());
  152 +
  153 + switch ($sArchivingType) {
  154 + case "Date" :
  155 + $sDisplayText = "Expiration Date: " . $oArchiveSettings->getExpirationDate();
  156 + if ($oTimePeriod) {
  157 + $sDisplayText .= "<br/>Expires after " . $oTimePeriod->getUnits() . " ";
  158 + $sDisplayText .= lookupName($default->time_unit_lookup_table, $oTimePeriod->getTimeUnitID()) . " from document creation date";
  159 + }
  160 + break;
  161 + case "Utilisation" :
  162 + $sDisplayText .= "Archive document " . $oTimePeriod->getUnits() . " ";
  163 + $sDisplayText .= lookupName($default->time_unit_lookup_table, $oTimePeriod->getTimeUnitID());
  164 + $sDisplayText .= " after the last " . lookupName($default->transaction_types_table, $oArchiveSettings->getDocumentTransactionID()) . " transaction";
  165 + break;
  166 + }
  167 +
  168 + $sToRender = "<table cellpadding=\"5\" border=\"0\" width=\"500\">";
  169 + $sToRender .= "<caption align=\"top\" colspan=\"2\" align=\"left\"><b>Archiving Settings</b></caption>";
  170 + $sToRender .= "<th align=\"left\">Archiving Type: $sArchivingType</th>";
  171 + $sToRender .= "<tr bgcolor=\"F5F6EE\">";
  172 + $sToRender .= "<td>$sDisplayText</td>" . ($bEditable ? "<td>" . generateControllerLink("modifyDocumentArchiveSettings", "fDocumentID=" . $oDocument->getID(), "Edit") . "</td>" : "");
  173 + $sToRender .= "</tr>";
  174 + $sToRender .= "</table>";
  175 + return $sToRender;
180 176 }
181 177  
182 178 function renderDocumentArchiveSettings($oDocument, $bEditable) {
... ... @@ -184,7 +180,8 @@ function renderDocumentArchiveSettings($oDocument, $bEditable) {
184 180  
185 181 $sToRender .= "\t<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">\n";
186 182 $sToRender .= "\t<tr>\n";
187   - $sToRender .= "\t\t<td>" . ($bEditable ? renderEditableDocumentArchiveSettings($oDocument) : renderNonEditableDocumentArchiveSettings($oDocument)) . "</td>\n";
  183 +
  184 + $sToRender .= "\t\t<td>" . renderDocumentArchiveSettingsDetails($oDocument, $bEditable) . "</td>\n";
188 185 $sToRender .= "\t</tr>";
189 186 if ($bEditable) {
190 187 $sToRender .= "\t<tr>\n";
... ...