You are here

function _oa_access_permissions_form_submit in Open Atrium Core 7.2

Form submission handler for both the Group and Team permissions forms.

See also

_oa_access_permissions_form()

oa_access_group_permissions_form()

oa_access_team_permissions_form()

1 string reference to '_oa_access_permissions_form_submit'
_oa_access_permissions_form in modules/oa_access/oa_access.admin.inc
Internal form constructor for both the Group and Team permissions forms.

File

modules/oa_access/oa_access.admin.inc, line 192
Administration pages and forms for the Open Atrium Access module.

Code

function _oa_access_permissions_form_submit($form, &$form_state) {

  // Re-organize the form values into the format expected by
  // oa_access_set_group_permissions().
  $group_permissions = array();
  foreach ($form_state['values']['groups'] as $group) {
    $group_permissions[$group->nid] = array();
  }
  foreach ($form_state['values']['permissions'] as $module => $permissions) {
    foreach ($permissions as $name => $perm) {
      foreach ($perm['groups'] as $nid) {
        $group_permissions[$nid][$module][] = $name;
      }
    }
  }

  // Actually save to the database.
  oa_access_set_group_permissions($group_permissions);
  drupal_set_message(t('The changes have been saved.'));
}