/** * @param DynamicField $df */ function delete($df) { //If a dropdown uses the field that is being delted as a parent dropdown, we need to remove that dependency $seed = BeanFactory::getBean($df->getModuleName()); if ($seed) { $fields = $seed->field_defs; foreach ($fields as $field => $def) { if (!empty($def['visibility_grid']['trigger']) && $def['visibility_grid']['trigger'] == $this->name) { $field = get_widget($def['type']); unset($def['visibility_grid']); $field->populateFromRow($def); if (isset($def['source']) && $def['source'] == "custom_fields") { $field->save($df); } else { //Out of the box field that we need to use a StandardField rather than DynamicFIeld object to save require_once 'modules/ModuleBuilder/parsers/StandardField.php'; $sf = new StandardField($df->getModuleName()); $sf->setup($seed); $field->module = $seed; $field->save($sf); } } } } parent::delete($df); }
/** * save * * This function says the field template by calling the DynamicField addFieldObject function. It then * checks to see if updates are needed for the SearchFields.php file. In the event that the unified_search * member variable is set to true, a search field definition is updated/created to the SearchFields.php file. * * @param DynamicField $df */ function save($df) { // $GLOBALS['log']->debug('saving field: '.print_r($this,true)); $df->addFieldObject($this); require_once 'modules/ModuleBuilder/parsers/parser.searchfields.php'; $searchFieldParser = new ParserSearchFields($df->getModuleName(), $df->getPackageName()); //If unified_search is enabled for this field, then create the SearchFields entry $fieldName = $this->get_field_name($df->getModuleName(), $this->name); if ($this->unified_search && !isset($searchFieldParser->searchFields[$df->getModuleName()][$fieldName])) { $searchFieldParser->addSearchField($fieldName, array('query_type' => 'default')); $searchFieldParser->saveSearchFields($searchFieldParser->searchFields); } }