diff --git a/entityreference.module b/entityreference.module index 18b329e..91b7d6c 100644 --- a/entityreference.module +++ b/entityreference.module @@ -36,7 +36,7 @@ function entityreference_behavior_plugin_process(&$plugin, $info) { } /** - * Implementation of hook_field_info(). + * Implements hook_field_info(). */ function entityreference_field_info() { $field_info['entityreference'] = array( @@ -756,9 +756,18 @@ function entityreference_autocomplete_callback($type, $field_name, $entity_type, $instance = field_info_instance($entity_type, $field_name, $bundle_name); $matches = array(); - if (!$field || !$instance || $field['type'] != 'entityreference' || !field_access('edit', $field, $entity_type)) { + $widget_types = field_info_widget_types(); + $field_type_is_allowed = FALSE; + foreach (array_keys(entityreference_field_widget_info()) as $widget_type) { + if (in_array($field['type'], $widget_types[$widget_type]['field types'])) { + $field_type_is_allowed = TRUE; + break; + } + } + if (!$field || !$instance || !$field_type_is_allowed || !field_access('edit', $field, $entity_type)) { return MENU_ACCESS_DENIED; } + unset($field_type_is_allowed, $widget_type, $widget_types); $handler = entityreference_get_selection_handler($field, $instance); diff --git a/examples/entityreference_behavior_example/plugins/behavior/EntityReferenceFieldBehaviorExample.class.php b/examples/entityreference_behavior_example/plugins/behavior/EntityReferenceFieldBehaviorExample.class.php index 788d996..4161043 100644 --- a/examples/entityreference_behavior_example/plugins/behavior/EntityReferenceFieldBehaviorExample.class.php +++ b/examples/entityreference_behavior_example/plugins/behavior/EntityReferenceFieldBehaviorExample.class.php @@ -24,7 +24,7 @@ class EntityReferenceFieldBehaviorExample extends EntityReference_BehaviorHandle public function settingsForm($field, $instance) { $form['test_field'] = array( '#type' => 'checkbox', - '#title' => t('Field behavoir setting'), + '#title' => t('Field behavior setting'), ); return $form; } diff --git a/examples/entityreference_behavior_example/plugins/behavior/EntityReferenceInstanceBehaviorExample.class.php b/examples/entityreference_behavior_example/plugins/behavior/EntityReferenceInstanceBehaviorExample.class.php index ed9ff14..6e6f329 100644 --- a/examples/entityreference_behavior_example/plugins/behavior/EntityReferenceInstanceBehaviorExample.class.php +++ b/examples/entityreference_behavior_example/plugins/behavior/EntityReferenceInstanceBehaviorExample.class.php @@ -24,7 +24,7 @@ class EntityReferenceInstanceBehaviorExample extends EntityReference_BehaviorHan public function settingsForm($field, $instance) { $form['test_instance'] = array( '#type' => 'checkbox', - '#title' => t('Instance behavoir setting'), + '#title' => t('Instance behavior setting'), ); return $form; } diff --git a/plugins/behavior/abstract.inc b/plugins/behavior/abstract.inc index c183d01..43b2b36 100644 --- a/plugins/behavior/abstract.inc +++ b/plugins/behavior/abstract.inc @@ -89,7 +89,7 @@ interface EntityReference_BehaviorHandler { /** * Act after updating an entity reference field. * - * @see hook_field_attach_insert() + * @see hook_field_attach_update() */ public function postUpdate($entity_type, $entity, $field, $instance);