public function searchAction() { $request = $this->getRequest(); $form = new Logic_User_Form_Search(); $form->getDecorator('Htmltag')->setOption('id', 'search_form'); $form->enableAddFilter(); $searchObj = new Logic_User_Search(new User(), 1); if ($request->isPost()) { if ($form->isCancelled($this->getRequest()->getPost())) { $this->_helper->redirector('index'); return; } else { $values = $request->getPost(); if ($form->isValid($values)) { if (!is_null($values['search'])) { $searchObj->saveFilterData($form->getValues()); } else { if (!is_null($values['addfilter'])) { $subForm = $form; unset($values['addfilter']); $filter['filters'] = serialize($values); if ($request->getParam('module') == 'marketingcampaign') { $filter['form_name'] = 'Logic_Marketingcampaign_Form_AssignUser'; } else { $filter['form_name'] = get_class($subForm); } $form = new Logic_Filter_Form_Generic(); $form->setDefaults($filter); } } } } } else { if ($filter_id = $request->getParam('filter')) { $filter_id = $this->_helper->IdConvert->hexToStr($filter_id); $filter = new Logic_Filter(); $tmp = $filter->useFilter($filter_id); $values = $tmp['Logic_User_Form_Search']; $form->setDefaults($this->_helper->FilterForm($form)); $searchObj->saveFilterData($values); } } if ($request->getParam('module') == 'marketingcampaign') { $this->view->filters = $form->getFilters("Logic_Marketingcampaign_Form_AssignUser"); } else { $this->view->filters = $form->getFilters(); } // $form->setDefaults($this->_helper->FilterForm($form)); $this->view->headers = $searchObj->getHeaders(); $this->view->form = $form; $this->view->paginator = $searchObj->paginator(); }
/** * showAction() - wyświetlenie właściwości filtra i (dla wywołania w ajaxie) użycie filtra * * @todo przepięcie na modele, AjaxContext */ public function showAction() { $request = $this->getRequest(); $filtr = new Logic_Filter(); if ($id = $request->getParam('id')) { $id = $this->_helper->IdConvert->hexToStr($id); if ($request->isXmlHttpRequest()) { $this->_helper->layout()->disableLayout(); $namespace = $request->getParam('filter'); $this->view->json = $filtr->useFilter($id, $namespace); } } }