diff --git a/manage_config_workflow_page.php b/manage_config_workflow_page.php index 0a179a5d77..e560fb70be 100644 --- a/manage_config_workflow_page.php +++ b/manage_config_workflow_page.php @@ -70,13 +70,23 @@ /** * Set overrides - * @param string $p_config Configuration value. + * @param string $p_config Configuration value. + * @param bool $p_can_change True if user has access level to change config + * @param string $p_color CSS class name * @return void */ -function set_overrides( $p_config ) { +function set_overrides( $p_config, $p_can_change, $p_color ) { global $g_overrides; - if( !in_array( $p_config, $g_overrides ) ) { - $g_overrides[] = $p_config; + + if( !$p_can_change ) { + return; + } + + $t_project = helper_get_current_project(); + if( $t_project == ALL_PROJECTS && $p_color == COLOR_GLOBAL + || $t_project != ALL_PROJECTS && $p_color == COLOR_PROJECT + ) { + $g_overrides[$p_config] = $p_config; } } @@ -117,9 +127,7 @@ function show_flag( $p_from_status_id, $p_to_status_id ) { $t_project = isset( $g_project_workflow['exit'][$p_from_status_id][$p_to_status_id] ) ? 1 : 0; $t_color = set_color_override( $t_file, $t_global, $t_project ); - if( $g_can_change_workflow && $t_color != '' ) { - set_overrides( 'status_enum_workflow' ); - } + set_overrides( 'status_enum_workflow', $g_can_change_workflow, $t_color ); $t_value = ''; $t_flag = ( 1 == $t_project ); @@ -194,9 +202,8 @@ function capability_row( $p_from_status ) { $t_project = isset( $g_project_workflow['default'][$p_from_status] ) ? $g_project_workflow['default'][$p_from_status] : 0; $t_color = set_color_override( $t_file, $t_global, $t_project ); - if( $g_can_change_workflow && $t_color != '' ) { - set_overrides( 'status_enum_workflow' ); - } + set_overrides( 'status_enum_workflow', $g_can_change_workflow, $t_color ); + echo "\t\t\t" . ''; if( $g_can_change_workflow ) { echo '