Example #1
0
 public function testFactory()
 {
     $this->object->getPluginLoader()->addPrefixPath('Test', 'Test');
     $class = $this->getMock('System_Controller_Action_Helper_GridFilter_Abstract', array(), array(), 'Test_Test');
     $object = $this->object->factory(array('type' => 'Test'));
     self::assertType('Test_Test', $object);
 }
Example #2
0
 /**
  * @see library/System/Controller/Action/Helper/GridFilter/System_Controller_Action_Helper_GridFilter_Abstract#filter($select)
  */
 public function filter(Zend_Db_Select $select)
 {
     if ($this->_getComparison() == '=') {
         $select->where('DATE(' . $this->_field . ') ' . $this->_getComparison() . ' DATE(?) ', $this->_getValue());
     } else {
         parent::filter($select);
     }
 }
Example #3
0
 /**
  * @see library/System/Controller/Action/Helper/GridFilter/System_Controller_Action_Helper_GridFilter_Abstract#_getValue()
  */
 protected function _getValue()
 {
     $values = array();
     foreach (explode(',', parent::_getValue()) as $value) {
         $values[] = trim($value);
     }
     return $values;
 }
Example #4
0
 /**
  * @see library/System/Controller/Action/Helper/GridFilter/System_Controller_Action_Helper_GridFilter_Abstract#_getComparison()
  */
 protected function _getComparison()
 {
     if (isset($this->_data['comparison'])) {
         $comparison = $this->_data['comparison'];
     } else {
         $comparison = '';
     }
     switch ($comparison) {
         case 'lt':
             return '<';
             break;
         case 'gt':
             return '>';
             break;
         default:
             return parent::_getComparison();
     }
 }
Example #5
0
 /**
  * Get basic select (select {$fields} from {$table}) and add filters, order and limit info from request
  * @param Zend_Db_Table_Abstract $table
  * @param string|array $fields array of fields or "*" Use as {@see Zend_Db_Select::from()} second params
  * @return Zend_Db_Select
  */
 public function getSelect(Zend_Db_Table_Abstract $table, $fields = "*")
 {
     //create basic selects
     $select = $table->getAdapter()->select()->from($table->info(Zend_Db_Table_Abstract::NAME), $fields);
     $cols = $table->info(Zend_Db_Table::COLS);
     //add filters support
     foreach ((array) $this->getRequest()->getParam('filter') as $value) {
         $field = $value['field'];
         if (in_array($field, $cols)) {
             $filter = System_Controller_Action_Helper_GridFilter_Abstract::factory($value['data']);
             $filter->setField($field);
             $filter->filter($select);
         }
     }
     //add sort
     $sortCol = $this->getRequest()->getParam('sort');
     if (in_array($sortCol, $cols)) {
         $select->order($sortCol . ' ' . $this->_getDirState('dir'));
     }
     //set limit
     $select->limit((int) $this->getRequest()->getParam('limit', 25), (int) $this->getRequest()->getParam('start'));
     return $select;
 }
Example #6
0
 /**
  * @see library/System/Controller/Action/Helper/GridFilter/System_Controller_Action_Helper_GridFilter_Abstract#_getValue()
  */
 protected function _getValue()
 {
     return '%' . parent::_getValue() . '%';
 }
Example #7
0
 /**
  * Set plugin loader
  *
  * @param Zend_Loader_PluginLoader_Interface $pluginLoader
  */
 public static function setPluginLoader(Zend_Loader_PluginLoader_Interface $pluginLoader = null)
 {
     self::$pluginLoader = $pluginLoader;
 }