From 5cb5232f5cef439f068b59d2458cc6b07bb42eaf Mon Sep 17 00:00:00 2001 From: nbm Date: Fri, 7 Jan 2005 10:19:43 +0000 Subject: [PATCH] If the document field is a lookup, provide a drop-down box with the lookup values. --- lib/browse/Criteria.inc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+), 0 deletions(-) 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 { -- libgit2 0.21.4