/** * Initializes the filter params Varien_Object, and saves it to the session * * @param $registryNode * @return Varien_Object */ public function initDateFilterParams($registryNode) { $request = Mage::app()->getRequest(); if (!$request->getParam('form_filter')) { $input = null; //Mage::getSingleton('adminhtml/session')->getData($registryNode); if (!$input) { if ($input = Mage::getSingleton('adminhtml/session')->getData($registryNode)) { // do nothing... } else { $input = new Varien_Object(); $input->setStandard($this->_getDefaultRange()); } } } else { $input = new Varien_Object(get_object_vars(json_decode($request->getParam('form_filter')))); } if ($input->getStandard()) { switch ($input->getStandard()) { case "next": $range = $this->_getNextRange($registryNode); break; case "previous": $range = $this->_getPreviousRange($registryNode); break; default: $range = $this->getRange($input->getStandard()); } $input->setStandard($range->getIdentifier()); } else { $range = $this->_generateCustomRange($input->getStart(), $input->getEnd()); } $input->setRange($range); $this->_dateRange = $input; Mage::getSingleton('adminhtml/session')->setData($registryNode, $input); return $input; }