=== modified file 'sites/all/modules/contrib/signup_status/signup_status.module' --- sites/all/modules/contrib/signup_status/signup_status.module 2011-01-18 12:28:39 +0000 +++ sites/all/modules/contrib/signup_status/signup_status.module 2011-01-18 12:43:52 +0000 @@ -190,11 +190,11 @@ function signup_status_signup_insert($si * @return * FormAPI array defining the signup status form element. */ -function _signup_status_status_form_element($current_status = NULL) { +function _signup_status_status_form_element($current_status = NULL, $show_all_options = FALSE) { $element = array(); $options = array(); foreach (signup_status_codes() as $cid => $code) { - if ($code['show_on_form']) { + if ($code['show_on_form'] || $show_all_options || $current_status == $cid) { $options[$cid] = $code['name']; } } @@ -251,7 +251,14 @@ function signup_status_signup_form_valid */ function signup_status_form_signup_edit_form_alter(&$form, $form_state) { $signup = $form['#signup']; - $status_element = _signup_status_status_form_element($signup->status); + global $user; + if (user_access(SIGNUP_STATUS_MANAGE_PERMISSION)) { + $show_all_options = TRUE; + } + else { + $show_all_options = FALSE; + } + $status_element = _signup_status_status_form_element($signup->status, $show_all_options); if (!empty($status_element)) { $form['elements']['signup_status'] = $status_element; if (empty($form['elements']['save'])) { @@ -459,4 +466,3 @@ function signup_status_token_values($typ } return $values; } -