You are here

class OgWidgetHandler in Organic groups 7.2

OG behavior handler.

Hierarchy

Expanded class hierarchy of OgWidgetHandler

1 string reference to 'OgWidgetHandler'
og_widget.inc in plugins/entityreference/behavior/og_widget.inc

File

plugins/entityreference/behavior/OgWidgetHandler.class.php, line 6

View source
class OgWidgetHandler extends EntityReference_BehaviorHandler_Abstract {
  public function access($field, $instance) {
    return ($field['settings']['handler'] == 'og' || strpos($field['settings']['handler'], 'og_') === 0) && $instance['widget']['type'] == 'og_complex';
  }

  /**
   * Override EntityReferenceHandler::settingsForm().
   */
  public function settingsForm($field, $instance) {
    $form = parent::settingsForm($field, $instance);
    $settings = !empty($instance['settings']['behaviors']['og_widget']) ? $instance['settings']['behaviors']['og_widget'] : array();
    $settings += array(
      'default' => array(
        'widget_type' => 'options_select',
      ),
      'admin' => array(
        'widget_type' => 'entityreference_autocomplete',
      ),
    );
    $field_types = array(
      'default' => array(
        'title' => t('Default widget type'),
        'description' => t('The widget type of the field as it will appear to the user.'),
      ),
      'admin' => array(
        'title' => t('Administrator widget type'),
        'description' => t('The widget type of the field that will appear only to a user with "Administer group" permission.'),
      ),
    );
    module_load_include('inc', 'field_ui', 'field_ui.admin');
    $widget_types = field_ui_widget_type_options('entityreference');
    unset($widget_types['og_complex']);
    foreach ($field_types as $field_type => $value) {
      $form[$field_type]['widget_type'] = array(
        '#type' => 'select',
        '#title' => $value['title'],
        '#required' => TRUE,
        '#options' => $widget_types,
        '#default_value' => $settings[$field_type]['widget_type'],
        '#description' => $value['description'],
      );
    }

    // Field access settings.
    $form['access_override'] = array(
      '#title' => t('Allow entity access to control field access'),
      '#description' => t('By default, the <em>administer group</em> permission is required to directly edit this field. Selecting this option will allow access to anybody with access to edit the entity.'),
      '#type' => 'checkbox',
      '#default_value' => isset($settings['access_override']) ? $settings['access_override'] : FALSE,
    );
    return $form;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
EntityReference_BehaviorHandler_Abstract::$behavior protected property The name of the behavior plugin.
EntityReference_BehaviorHandler_Abstract::$plugin protected property The plugin definition.
EntityReference_BehaviorHandler_Abstract::delete public function Act before deleting an entity with an entity reference field. Overrides EntityReference_BehaviorHandler::delete 2
EntityReference_BehaviorHandler_Abstract::entityPostDelete public function Act after deleting an entity. Overrides EntityReference_BehaviorHandler::entityPostDelete
EntityReference_BehaviorHandler_Abstract::entityPostInsert public function Act after inserting an entity. Overrides EntityReference_BehaviorHandler::entityPostInsert 1
EntityReference_BehaviorHandler_Abstract::entityPostUpdate public function Act after updating an entity. Overrides EntityReference_BehaviorHandler::entityPostUpdate 1
EntityReference_BehaviorHandler_Abstract::insert public function Act before inserting an entity reference field. Overrides EntityReference_BehaviorHandler::insert 2
EntityReference_BehaviorHandler_Abstract::is_empty_alter public function Alter the empty status of a field item. Overrides EntityReference_BehaviorHandler::is_empty_alter
EntityReference_BehaviorHandler_Abstract::load public function Act on loading entity reference fields of entities. Overrides EntityReference_BehaviorHandler::load 2
EntityReference_BehaviorHandler_Abstract::postDelete public function Act after deleting an entity with an entity reference field. Overrides EntityReference_BehaviorHandler::postDelete
EntityReference_BehaviorHandler_Abstract::postInsert public function Act after inserting an entity reference field. Overrides EntityReference_BehaviorHandler::postInsert
EntityReference_BehaviorHandler_Abstract::postUpdate public function Act after updating an entity reference field. Overrides EntityReference_BehaviorHandler::postUpdate
EntityReference_BehaviorHandler_Abstract::presave public function Act on presaving an entity reference field. Overrides EntityReference_BehaviorHandler::presave
EntityReference_BehaviorHandler_Abstract::property_info_alter public function Alter the properties information of a field instance. Overrides EntityReference_BehaviorHandler::property_info_alter
EntityReference_BehaviorHandler_Abstract::schema_alter public function Alter the field schema. Overrides EntityReference_BehaviorHandler::schema_alter
EntityReference_BehaviorHandler_Abstract::update public function Act before updating an entity reference field. Overrides EntityReference_BehaviorHandler::update 2
EntityReference_BehaviorHandler_Abstract::validate public function Act on validating an entity reference field. Overrides EntityReference_BehaviorHandler::validate
EntityReference_BehaviorHandler_Abstract::views_data_alter public function Alter the views data of a field. Overrides EntityReference_BehaviorHandler::views_data_alter 1
EntityReference_BehaviorHandler_Abstract::__construct public function Constructor for the behavior. Overrides EntityReference_BehaviorHandler::__construct
OgWidgetHandler::access public function Determine if handler should appear. Overrides EntityReference_BehaviorHandler_Abstract::access
OgWidgetHandler::settingsForm public function Override EntityReferenceHandler::settingsForm(). Overrides EntityReference_BehaviorHandler_Abstract::settingsForm