You are here

function oa_core_form_node_delete_confirm_validate in Open Atrium Core 7.2

Validate the function and set a variable for checking later to set og_orphan

1 string reference to 'oa_core_form_node_delete_confirm_validate'
oa_core_form_node_delete_confirm_alter in ./oa_core.module
Implements hook_form_alter().

File

./oa_core.module, line 648

Code

function oa_core_form_node_delete_confirm_validate($form, &$form_state) {
  $node = $form['#node'];
  if ($form_state['values']['oa_core_orphans'] == 'move') {
    $gid = $form_state['values']['oa_core_orphans_og_group_ref'];
    if (empty($gid) || !is_numeric($gid) || !($group = node_load($gid))) {
      form_set_error('oa_core_orphans', t('Please select a space to move the content to.'));
    }
    elseif ($gid === $node->nid) {
      form_set_error('oa_core_orphans', t('Please select a space that is not the current space to move the content to.'));
    }
    elseif (!node_access('update', $group)) {
      form_set_error('oa_core_orphans', t('Please choice a group where have more access to.'));
    }
    else {
      oa_core_store_orphan_settings($node, array(
        'og_orphans' => array(
          'move' => array(
            'group_type' => 'node',
            'gid' => $gid,
          ),
        ),
      ));
    }
  }
  else {

    // Set whether should be left alone or deleted.
    oa_core_store_orphan_settings($node, array(
      'og_orphans' => array(
        'delete' => $form_state['values']['oa_core_orphans'] == 'delete',
      ),
    ));
  }
}