function oa_core_form_node_form_alter in Open Atrium Core 7.2
Implements hook_form_FORM_ID_alter() node_form.
File
- ./
oa_core.module, line 557
Code
function oa_core_form_node_form_alter(&$form, &$form_state, $form_id) {
// Modify label on Panelizer layout field.
if (isset($form['panelizer'])) {
$form['panelizer']['page_manager']['name']['#title'] = t('Select Layout');
}
// This is a workaround for og not defaulting based on subgroups, only user direct groups.
// Handling this for both normal users and admin users.
$fields = array(
OA_SPACE_FIELD,
);
if (empty($form['#node']->clone_from_original_nid)) {
$fields[] = OA_PARENT_SPACE;
}
foreach ($fields as $field_name) {
if (!empty($form['#node']->{$field_name}[LANGUAGE_NONE][0]['target_id']) && isset($form[$field_name][LANGUAGE_NONE][0]['default']) && empty($form[$field_name][LANGUAGE_NONE][0]['default']['#default_value']) && ($group = node_load($form['#node']->{$field_name}[LANGUAGE_NONE][0]['target_id'])) && (!isset($form[$field_name][LANGUAGE_NONE][0]['admin']['#default_value']) || strpos($form[$field_name][LANGUAGE_NONE][0]['admin']['#default_value'], $group->title . ' (' . $group->nid . ')') !== FALSE && in_array($group->nid, oa_core_get_groups_by_user(NULL, 'node')))) {
$form[$field_name][LANGUAGE_NONE][0]['default']['#default_value'] = $group->title . ' (' . $group->nid . ')';
$form[$field_name][LANGUAGE_NONE][0]['default']['#init'][$group->nid] = $form[$field_name][LANGUAGE_NONE][0]['default']['#default_value'];
if (isset($form[$field_name][LANGUAGE_NONE][0]['admin'])) {
$form[$field_name][LANGUAGE_NONE][0]['admin']['#default_value'] = '';
$form[$field_name][LANGUAGE_NONE][0]['admin']['#init'] = array();
}
}
}
if (isset($form['field_oa_space_type']) && !isset($form['#node']->nid)) {
// Creating a new space node, so limit space types
$options = oa_core_get_allowed_space_terms();
if (isset($options)) {
$form['field_oa_space_type'][LANGUAGE_NONE]['#options'] = $options;
}
}
}