Commit 1c623fdf47a28aeb69b72a4a4ecfdaa5fb7e99c5

Authored by nbm
1 parent 607a06c4

Each Criterion now knows what its ID is, fixing the search widgets.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3084 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 17 additions and 11 deletions
lib/browse/Criteria.inc
... ... @@ -37,11 +37,13 @@ class BrowseCriterion {
37 37 var $aLookup = null;
38 38 var $bFolderCriterion = false;
39 39 var $aOptions = array();
  40 + var $iID;
40 41  
41   - function BrowseCriterion ($sDisplay, $sDocumentField, $sSortField) {
  42 + function BrowseCriterion ($sDisplay, $sDocumentField, $sSortField, $iID) {
42 43 $this->sDisplay =& $sDisplay;
43 44 $this->sDocumentField =& $sDocumentField;
44 45 $this->sSortField =& $sSortField;
  46 + $this->iID = $iID;
45 47 }
46 48  
47 49 function headerDisplay () {
... ... @@ -130,6 +132,10 @@ class BrowseCriterion {
130 132 return $this->sDocumentField;
131 133 }
132 134  
  135 + function getID() {
  136 + return $this->iID;
  137 + }
  138 +
133 139 function setOptions($aOptions) {
134 140 $this->aOptions = $aOptions;
135 141 }
... ... @@ -139,7 +145,7 @@ class BrowseCriterion {
139 145 }
140 146  
141 147 function searchWidget ($aRequest) {
142   - return "<input type=\"text\" size=\"50\" name=\"bmd$k\" />";
  148 + return "<input type=\"text\" size=\"50\" name=\"bmd" . $this->getID() . "\" />";
143 149 }
144 150 }
145 151  
... ... @@ -215,7 +221,7 @@ class CreatorCriterion extends BrowseCriterion {
215 221 return $this->documentDisplay($oFolder);
216 222 }
217 223 function searchWidget ($aRequest) {
218   - $sRet = "<select size=\"1\" name=\"bmd$k\">\n";
  224 + $sRet = "<select size=\"1\" name=\"bmd" . $this->getID() . "\">\n";
219 225 $aUsers = User::getList();
220 226 $sRet .= "<option value=\"-1\">None</option>\n";
221 227 foreach ($aUsers as $oUser) {
... ... @@ -257,7 +263,7 @@ class DocumentTypeCriterion extends BrowseCriterion {
257 263 return "&nbsp;";
258 264 }
259 265 function searchWidget ($aRequest) {
260   - $sRet = "<select size=\"1\" name=\"bmd$k\">\n";
  266 + $sRet = "<select size=\"1\" name=\"bmd" . $this->getID() . "\">\n";
261 267 $aUsers = DocumentType::getList();
262 268 $sRet .= "<option value=\"-1\">None</option>\n";
263 269 foreach ($aUsers as $oUser) {
... ... @@ -278,7 +284,7 @@ class GenericMetadataCriterion extends BrowseCriterion {
278 284  
279 285 function GenericMetadataCriterion ($sDisplay, $sDocumentField, $sSortField, $iFieldID) {
280 286 $this->iFieldID = $iFieldID;
281   - $this->BrowseCriterion($sDisplay, $sDocumentField, $sSortField);
  287 + $this->BrowseCriterion($sDisplay, $sDocumentField, $sSortField, $iFieldID);
282 288 $this->aLookup['whereClause'] = 'document_field_id = ' . $iFieldID;
283 289 }
284 290  
... ... @@ -310,22 +316,22 @@ class Criteria {
310 316 global $default;
311 317 switch ($iID) {
312 318 case -1:
313   - $oCriterion =& new NameCriterion(_("Name"), 'filename', 'filename');
  319 + $oCriterion =& new NameCriterion(_("Name"), 'filename', 'filename', -1);
314 320 break;
315 321 case -2:
316   - $oCriterion =& new TitleCriterion(_("Title"), 'name', 'name');
  322 + $oCriterion =& new TitleCriterion(_("Title"), 'name', 'name', -2);
317 323 break;
318 324 case -3:
319   - $oCriterion =& new CreatorCriterion(_("Creator"), 'creator_id', 'creator_id');
  325 + $oCriterion =& new CreatorCriterion(_("Creator"), 'creator_id', 'creator_id', -3);
320 326 break;
321 327 case -4:
322   - $oCriterion =& new DateCreatedCriterion(_("Date Created"), 'id', 'id');
  328 + $oCriterion =& new DateCreatedCriterion(_("Date Created"), 'id', 'id', -4);
323 329 break;
324 330 case -5:
325   - $oCriterion =& new DocumentTypeCriterion(_("Document Type"), 'document_type_id', 'document_type_id');
  331 + $oCriterion =& new DocumentTypeCriterion(_("Document Type"), 'document_type_id', 'document_type_id', -5);
326 332 break;
327 333 case -6:
328   - $oCriterion =& new IDCriterion(_("ID"), 'id', 'id');
  334 + $oCriterion =& new IDCriterion(_("ID"), 'id', 'id', -6);
329 335 break;
330 336 }
331 337 return $oCriterion;
... ...