You are here

function og_ui_admin_roles_submit in Organic groups 7.2

Submit handler; OG roles.

1 string reference to 'og_ui_admin_roles_submit'
og_ui_admin_roles in og_ui/og_ui.admin.inc
Menu callback: administer roles.

File

og_ui/og_ui.admin.inc, line 584
Admin settings for Organic groups module.

Code

function og_ui_admin_roles_submit($form, &$form_state) {
  $group_type = $form['group_type']['#value'];
  $bundle = $form['bundle']['#value'];
  $gid = $form['gid']['#value'];
  if (!empty($form_state['values']['rid'])) {
    $role = og_role_load($form_state['values']['rid']);
    $role->name = $form_state['values']['name'];
  }
  else {
    $role = og_role_create($form_state['values']['name'], $group_type, $gid, $bundle);
  }
  if ($form_state['values']['op'] == t('Save role')) {
    og_role_save($role);
    drupal_set_message(t('The role has been renamed.'));
  }
  elseif ($form_state['values']['op'] == t('Add role')) {
    og_role_save($role);
    drupal_set_message(t('The role has been added.'));
  }
  elseif ($form_state['values']['op'] == t('Delete role')) {
    og_role_delete($form_state['values']['rid']);
    drupal_set_message(t('The role has been deleted.'));
  }
  if ($gid) {
    $form_state['redirect'] = "group/{$group_type}/{$gid}/admin/roles";
  }
  else {
    $form_state['redirect'] = 'admin/config/group/roles';
    if ($bundle) {
      $form_state['redirect'] .= "/{$group_type}/{$bundle}";
    }
  }
}