예제 #1
0
 /**
  * @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);
 }
예제 #2
0
 /**
  * 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);
     }
 }