diff --git a/code/ModelAdmin.php b/code/ModelAdmin.php index 337da2c9..c92bbde8 100644 --- a/code/ModelAdmin.php +++ b/code/ModelAdmin.php @@ -405,7 +405,7 @@ class ModelAdmin_CollectionController extends Controller { $clearAction = new ResetFormAction('clearsearch', _t('ModelAdmin.CLEAR_SEARCH','Clear Search')) ) ); - $form->setFormAction(Controller::join_links($this->Link(), "search")); + //$form->setFormAction(Controller::join_links($this->Link(), "search")); $form->setFormMethod('get'); $form->setHTMLID("Form_SearchForm_" . $this->modelClass); $clearAction->useButtonTag = true; @@ -451,10 +451,9 @@ class ModelAdmin_CollectionController extends Controller { * * @return string */ - function search($request) { - $form = $this->ResultsForm(); - - return $form->forTemplate(); + function search($request, $form) { + $resultsForm = $this->ResultsForm($form->getData()); + return $resultsForm->forTemplate(); } /** @@ -464,10 +463,9 @@ class ModelAdmin_CollectionController extends Controller { * * @return SQLQuery */ - function getSearchQuery() { + function getSearchQuery($searchCriteria) { $context = singleton($this->modelClass)->getDefaultSearchContext(); - - return $context->getQuery($this->request->getVars()); + return $context->getQuery($searchCriteria); } /** @@ -475,7 +473,7 @@ class ModelAdmin_CollectionController extends Controller { * * @return Form */ - function ResultsForm() { + function ResultsForm($searchCritera) { $model = singleton($this->modelClass); $summaryFields = $model->summaryFields(); $resultAssembly = $_REQUEST['ResultAssembly']; @@ -489,7 +487,7 @@ class ModelAdmin_CollectionController extends Controller { $this->modelClass, $summaryFields ); - $tf->setCustomQuery($this->getSearchQuery()); + $tf->setCustomQuery($this->getSearchQuery($searchCriteria)); $tf->setPageSize($this->parentController->stat('page_length')); $tf->setShowPagination(true); $tf->setPermissions(array_merge(array('view','export'), $model->stat('results_permissions'))); diff --git a/javascript/ModelAdmin.js b/javascript/ModelAdmin.js index 789be733..afc658f2 100644 --- a/javascript/ModelAdmin.js +++ b/javascript/ModelAdmin.js @@ -72,8 +72,9 @@ jQuery(document).ready(function() { var data = {}; jQuery('*[name]', scope).each(function(){ var t = jQuery(this); - var val = (t.attr('type') == 'checkbox') ? (t.attr('checked') == true) ? 1 : 0 : t.val(); - data[t.attr('name')] = val; + if(t.attr('type') != 'checkbox' || t.attr('checked') == true) { + data[t.attr('name')] = t.val(); + } }); return data; }