CRM-17075 further fix to handling entity reference in search form
authoreileenmcnaugton <eileen@fuzion.co.nz>
Thu, 8 Oct 2015 02:33:52 +0000 (15:33 +1300)
committereileenmcnaugton <eileen@fuzion.co.nz>
Thu, 8 Oct 2015 07:53:06 +0000 (20:53 +1300)
This represents another step towards the logic of standardised saving & handling in the query layer
and letting the form layer interpret that to a form

CRM/Contact/Form/Task/SaveSearch.php

index cb3fd33f45eeb209356d87ddc3816ced83fff3ae..427520412f5ff898c6d17f18d1cc47a36b577e2b 100644 (file)
@@ -180,7 +180,13 @@ class CRM_Contact_Form_Task_SaveSearch extends CRM_Contact_Form_Task {
     //save the search
     $savedSearch = new CRM_Contact_BAO_SavedSearch();
     $savedSearch->id = $this->_id;
-    $savedSearch->form_values = serialize($this->get('formValues'));
+    // Use the query parameters rather than the form values - these have already been assessed / converted
+    // with the extra knowledge that the form has.
+    // Note that we want to move towards a standardised way of saving the query that is not
+    // an exact match for the form requirements & task the form layer with converting backwards and forwards.
+    // Ideally per CRM-17075 we will use entity reference fields heavily in the form layer & convert to the
+    // sql operator syntax at the query layer.
+    $savedSearch->form_values = serialize($this->get('queryParams'));
     $savedSearch->mapping_id = $mappingId;
     $savedSearch->search_custom_id = $this->get('customSearchID');
     $savedSearch->save();