$group->name = substr($group->name, 0, -4) . "_{$group->id}";
}
- $group->buildClause();
$group->save();
// add custom field values
return $group;
}
- /**
- * Given a saved search compute the clause and the tables
- * and store it for future use
- */
- public function buildClause() {
- $params = [['group', 'IN', [$this->id], 0, 0]];
-
- if (!empty($params)) {
- $tables = $whereTables = [];
- $this->where_clause = CRM_Contact_BAO_Query::getWhereClause($params, NULL, $tables, $whereTables);
- if (!empty($tables)) {
- $this->select_tables = serialize($tables);
- }
- if (!empty($whereTables)) {
- $this->where_tables = serialize($whereTables);
- }
- }
- }
-
/**
* Defines a new smart group.
*
//create/update saved search record.
$savedSearch = new CRM_Contact_BAO_SavedSearch();
$savedSearch->id = $ssId;
- $savedSearch->form_values = serialize(CRM_Contact_BAO_Query::convertFormValues($params['form_values']));
+ $formValues = $params['search_context'] === 'builder' ? $params['form_values'] : CRM_Contact_BAO_Query::convertFormValues($params['form_values']);
+ $savedSearch->form_values = serialize($formValues);
$savedSearch->mapping_id = $mappingId;
$savedSearch->search_custom_id = CRM_Utils_Array::value('search_custom_id', $params);
$savedSearch->save();
* @param array $groupIDs
* Array of group ids.
*
- * @param NULL $parents
+ * @param string $parents
* @param string $spacer
* @param bool $titleOnly
*