diff --git a/lib/browse/Criteria.inc b/lib/browse/Criteria.inc index ec42e00..843b81c 100644 --- a/lib/browse/Criteria.inc +++ b/lib/browse/Criteria.inc @@ -2,7 +2,9 @@ require_once("$default->fileSystemRoot/lib/security/Permission.inc"); require_once("$default->fileSystemRoot/lib/users/User.inc"); require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); +require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentField.inc"); require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentType.inc"); +require_once("$default->fileSystemRoot/lib/documentmanagement/MetaData.inc"); require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); /** * $Id$ @@ -343,6 +345,7 @@ class GenericMetadataCriterion extends BrowseCriterion { function GenericMetadataCriterion ($sDisplay, $sDocumentField, $sSortField, $iID) { $this->BrowseCriterion($sDisplay, $sDocumentField, $sSortField, $iID); $this->aLookup['whereClause'] = 'document_field_id = ' . $iID; + $this->oField =& DocumentField::get($iID); } function documentDisplay ($oDocument) { @@ -370,6 +373,23 @@ class GenericMetadataCriterion extends BrowseCriterion { function getSearchField () { return $this->aLookup['field']; } + + function searchWidget ($aRequest) { + // If there's no lookup, just use the standard text input + if ($this->oField->getHasLookup() === false) { + return parent::searchWidget($aRequest); + } + + $sRet = "\n"; + return $sRet; + } } class Criteria {