diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/modifyUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/modifyUI.inc index 9733f0a..dcd574a 100644 --- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/modifyUI.inc +++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/modifyUI.inc @@ -62,22 +62,66 @@ function renderDocumentPath($oDocument) { }*/ function renderEditableGenericMetaData($oDocument) { - global $default; - $sQuery = "SELECT DF.name AS name, DFL.value as value, DFL.id AS id " . - "FROM $default->owl_documents_table AS D INNER JOIN $default->owl_document_fields_table AS DFL ON D.id = DFL.document_id " . - "INNER JOIN $default->owl_fields_table AS DF ON DF.id = DFL.document_field_id " . - "WHERE document_id = " . $oDocument->getID() . " " . - "AND DF.is_generic = 1"; - $aColumns = array("name", "value"); - $aColumnHeaders = array("Tag", "Value"); - $aColumnTypes = array(1,1); - $aColumnEditable = array(0,1); - $oPatternTableSqlQuery = & new PatternEditableTableSqlQuery($sQuery, $default->owl_document_fields_table, "generic_meta_data", $aColumns, $aColumnTypes, $aColumnEditable, $aColumnHeaders, "90%"); - $oPatternTableSqlQuery->setTableHeading("Generic Meta Data"); + global $default; + $sQuery = "SELECT " . $oDocument->getID() . " AS document_id, COALESCE(DFL.id, -1) AS id, DF.name AS name, DF.id as document_field_id, COALESCE(DFL.value, null) AS value " . + "FROM $default->owl_fields_table AS DF LEFT OUTER JOIN $default->owl_document_fields_table AS DFL ON DFL.document_field_id = DF.id " . + "RIGHT OUTER JOIN documents AS D ON D.id = DFL.document_id " . + "WHERE DF.is_generic = 1 " . + "AND D.id = " . $oDocument->getID(); + + $aStoreColumnNames = array("document_id", "document_field_id","value"); + $aDisplayColumnNames = array("document_id", "name", "value"); + $aColumnsEditable = array(0,0,1); + $aColumnsVisible = array(0,1,1); + $aColumnTypes = array(1,1,1); + + $oPatternTableSqlQuery = & new PatternEditableTableSqlQuery($sQuery, "document_fields_links", $aStoreColumnNames, $aDisplayColumnNames, $aColumnsEditable, $aColumnsVisible, $aColumnTypes, "gmd"); + $oPatternTableSqlQuery->setTableCaption("Generic Meta Data"); return $oPatternTableSqlQuery->render(); } +function renderEditableTypeSpecificMetaData($oDocument) { + global $default; + $sQuery = "SELECT COALESCE(DFL.id, -1) AS id, " . $oDocument->getID() . " AS document_id, DTFL.document_type_id AS document_type_id, DTL.name AS document_type_name, DTFL.field_id, DF.name AS field_name, DFL.value AS field_value, DTFL.is_mandatory AS is_mandatory " . + "FROM $default->owl_document_type_fields_table AS DTFL INNER JOIN $default->owl_folders_table AS F ON F.document_type_id = DTFL.document_type_id " . + "INNER JOIN $default->owl_documents_table AS D ON D.folder_id = F.id " . + "INNER JOIN $default->owl_document_types_table AS DTL ON DTL.id = DTFL.document_type_id " . + "INNER JOIN $default->owl_fields_table AS DF ON DTFL.field_id = DF.id " . + "LEFT OUTER JOIN $default->owl_document_fields_table AS DFL ON DFL.document_field_id = DF.id " . + "WHERE D.id = " . $oDocument->getID() . " " . + "AND DF.is_generic = 0 "; + + $aStoreColumnNames = array("document_id", "field_id", "field_value"); + $aDisplayColumnNames = array("document_id", "field_name", "field_value"); + $aColumnsEditable = array(0,0,1); + $aColumnsVisible = array(0,1,1); + $aColumnTypes = array(1,1,1); + + $oPatternTableSqlQuery = & new PatternEditableTableSqlQuery($sQuery, "document_fields_links", $aStoreColumnNames, $aDisplayColumnNames, $aColumnsEditable, $aColumnsVisible, $aColumnTypes, "tsmd"); + $oPatternTableSqlQuery->setTableCaption("Type specific meta data"); + return $oPatternTableSqlQuery->render(); +} + +function renderPage($oDocument) { + $sToRender = "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "
\n"; + $sToRender .= wrapInTable(renderEditableGenericMetaData($oDocument)) . "\n"; + $sToRender .= "\n"; + $sToRender .= wrapInTable(renderEditableTypeSpecificMetaData($oDocument)) . "\n"; + $sToRender .= "
\n"; + $sToRender .= "\n"; + return $sToRender; +} + +function wrapInTable($sHtml) { + return "\n\t\t\t
$sHtml
\n"; +} + ?>