#112 Implicit search filter declaration

SVN:trunk[404]
This commit is contained in:
Romain Quetiez
2010-05-14 10:06:07 +00:00
parent d527b56340
commit 2e07f73122
23 changed files with 92 additions and 670 deletions

View File

@@ -210,6 +210,11 @@ abstract class AttributeDefinition
//abstract protected GetBasicFilterHTMLInput();
abstract public function GetBasicFilterSQLExpr($sOpCode, $value);
public function GetFilterDefinitions()
{
return array();
}
public function GetEditValue($sValue)
{
return (string)$sValue;
@@ -386,6 +391,11 @@ class AttributeDBFieldVoid extends AttributeDefinition
return $aColumns;
}
public function GetFilterDefinitions()
{
return array($this->GetCode() => new FilterFromAttribute($this));
}
public function GetBasicFilterOperators()
{
return array("="=>"equals", "!="=>"differs from");
@@ -729,6 +739,12 @@ class AttributePassword extends AttributeString
public function GetEditClass() {return "Password";}
protected function GetSQLCol() {return "VARCHAR(64)";}
public function GetFilterDefinitions()
{
// not allowed to search on passwords!
return array();
}
}
/**
@@ -1266,6 +1282,11 @@ class AttributeExternalField extends AttributeDefinition
return $oExtAttDef->IsScalar();
}
public function GetFilterDefinitions()
{
return array($this->GetCode() => new FilterFromAttribute($this));
}
public function GetBasicFilterOperators()
{
$oExtAttDef = $this->GetExtAttDef();
@@ -1360,7 +1381,7 @@ class AttributeURL extends AttributeString
}
/**
* Data column, consisting in TWO columns in the DB
* A blob is an ormDocument, it is stored as several columns in the database
*
* @package iTopORM
* @author Romain Quetiez <romainquetiez@yahoo.fr>
@@ -1467,6 +1488,17 @@ class AttributeBlob extends AttributeDefinition
return $aColumns;
}
public function GetFilterDefinitions()
{
return array();
// still not working... see later...
return array(
$this->GetCode().'->filename' => new FilterFromAttribute($this, '_filename'),
$this->GetCode().'_mimetype' => new FilterFromAttribute($this, '_mimetype'),
$this->GetCode().'_mimetype' => new FilterFromAttribute($this, '_mimetype')
);
}
public function GetBasicFilterOperators()
{
return array();