function oa_sections_query_entityreference_alter in Open Atrium Core 7.2
Implements hook_query_TAG_alter().
File
- modules/
oa_sections/ oa_sections.module, line 142
Code
function oa_sections_query_entityreference_alter($query) {
$field = $query->alterMetaData['entityreference_selection_handler']->field;
$current_query_conditions = $query->alterMetaData['entity_field_query']->entityConditions;
if ($field && $field['field_name'] == 'oa_section_ref' && empty($current_query_conditions['entity_id'])) {
$entity = $query->alterMetaData['entityreference_selection_handler']->entity;
// A space is active, limit to sections in that space.
if ($value = _oa_sections_get_current_selected_space($entity)) {
$query
->join('og_membership', 'omrol', 'node.nid = omrol.etid and omrol.entity_type = :entity_type AND omrol.field_name = :field_name AND omrol.gid = :target_id', array(
':target_id' => $value,
':entity_type' => 'node',
':field_name' => 'og_group_ref',
));
}
else {
$query
->condition('1', '0', '=');
}
}
}