break; case 'ASSIGN': $f_assign = gpc_get_int('assign'); if (ON == config_get('auto_set_status_to_assigned')) { $t_assign_status = config_get('bug_assigned_status'); } else { $t_assign_status = $t_status; } # check that new handler has rights to handle the issue, and # that current user has rights to assign the issue $t_threshold = access_get_status_threshold($t_assign_status, $t_bug->project_id); if (access_has_bug_level(config_get('update_bug_assign_threshold', config_get('update_bug_threshold')), $t_bug_id)) { if (access_has_bug_level(config_get('handle_bug_threshold'), $t_bug_id, $f_assign)) { if (bug_check_workflow($t_status, $t_assign_status)) { # @todo we need to issue a helper_call_custom_function( 'issue_update_validate', array( $t_bug_id, $t_bug_data, $f_bugnote_text ) ); bug_assign($t_bug_id, $f_assign, $f_bug_notetext, $f_bug_noteprivate); helper_call_custom_function('issue_update_notify', array($t_bug_id)); } else { $t_failed_ids[$t_bug_id] = lang_get('bug_actiongroup_status'); } } else { $t_failed_ids[$t_bug_id] = lang_get('bug_actiongroup_handler'); } } else { $t_failed_ids[$t_bug_id] = lang_get('bug_actiongroup_access'); } break; case 'RESOLVE': $t_resolved_status = config_get('bug_resolved_status_threshold'); if (access_has_bug_level(access_get_status_threshold($t_resolved_status, $t_bug->project_id), $t_bug_id)) { if ($t_status < $t_resolved_status && bug_check_workflow($t_status, $t_resolved_status)) {
# Copyright (C) 2002 - 2008 Mantis Team - mantisbt-dev@lists.sourceforge.net # Mantis is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # Mantis is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Mantis. If not, see <http://www.gnu.org/licenses/>. # -------------------------------------------------------- # $Id: bug_assign_reporter.php,v 1.4.14.1 2007-10-13 22:32:35 giallu Exp $ # -------------------------------------------------------- # Assign bug to user then redirect to viewing page require_once 'core.php'; $t_core_path = config_get('core_path'); require_once $t_core_path . 'bug_api.php'; # helper_ensure_post(); $f_bug_id = gpc_get_int('bug_id'); access_ensure_bug_level(config_get('update_bug_threshold'), $f_bug_id); $t_bug = bug_get($f_bug_id, true); if ($t_bug->project_id != helper_get_current_project()) { # in case the current project is not the same project of the bug we are viewing... # ... override the current project. This to avoid problems with categories and handlers lists etc. $g_project_override = $t_bug->project_id; } bug_assign($f_bug_id, bug_get_field($f_bug_id, 'reporter_id')); print_successful_redirect_to_bug($f_bug_id);
} else { $t_failed_ids[$t_bug_id] = lang_get('bug_actiongroup_access'); } break; case 'ASSIGN': $f_assign = gpc_get_int('assign'); if (ON == config_get('auto_set_status_to_assigned')) { $t_assign_status = config_get('bug_assigned_status'); } else { $t_assign_status = $t_status; } # check that new handler has rights to handle the issue, and # that current user has rights to assign the issue $t_threshold = access_get_status_threshold($t_assign_status, bug_get_field($t_bug_id, 'project_id')); if (access_has_bug_level($t_threshold, $t_bug_id, $f_assign) && access_has_bug_level(config_get('update_bug_assign_threshold', config_get('update_bug_threshold')), $t_bug_id) && bug_check_workflow($t_status, $t_assign_status)) { bug_assign($t_bug_id, $f_assign); } else { if (bug_check_workflow($t_status, $t_assign_status)) { $t_failed_ids[$t_bug_id] = lang_get('bug_actiongroup_access'); } else { $t_failed_ids[$t_bug_id] = lang_get('bug_actiongroup_status'); } } break; case 'RESOLVE': $t_resolved_status = config_get('bug_resolved_status_threshold'); if (access_has_bug_level(access_get_status_threshold($t_resolved_status, bug_get_field($t_bug_id, 'project_id')), $t_bug_id) && $t_status < $t_resolved_status && bug_check_workflow($t_status, $t_resolved_status)) { $f_resolution = gpc_get_int('resolution'); $f_fixed_in_version = gpc_get_string('fixed_in_version', ''); bug_resolve($t_bug_id, $f_resolution, $f_fixed_in_version); } else {
# Assign bug to user then redirect to viewing page require_once 'core.php'; $t_core_path = config_get('core_path'); require_once $t_core_path . 'bug_api.php'; $f_bug_id = gpc_get_int('bug_id'); $t_bug = bug_get($f_bug_id); if ($t_bug->project_id != helper_get_current_project()) { # in case the current project is not the same project of the bug we are viewing... # ... override the current project. This to avoid problems with categories and handlers lists etc. $g_project_override = $t_bug->project_id; } $f_handler_id = gpc_get_int('handler_id', auth_get_current_user_id()); # check that current user has rights to assign the issue access_ensure_bug_level(config_get('update_bug_assign_threshold', config_get('update_bug_threshold')), $f_bug_id); $t_bug_sponsored = sponsorship_get_amount(sponsorship_get_all_ids($f_bug_id)) > 0; if ($t_bug_sponsored) { if (!access_has_bug_level(config_get('assign_sponsored_bugs_threshold'), $f_bug_id)) { trigger_error(ERROR_SPONSORSHIP_ASSIGNER_ACCESS_LEVEL_TOO_LOW, ERROR); } } if ($f_handler_id != NO_USER) { # check that new handler has rights to handle the issue access_ensure_bug_level(config_get('handle_bug_threshold'), $f_bug_id, $f_handler_id); if ($t_bug_sponsored) { if (!access_has_bug_level(config_get('handle_sponsored_bugs_threshold'), $f_bug_id, $f_handler_id)) { trigger_error(ERROR_SPONSORSHIP_HANDLER_ACCESS_LEVEL_TOO_LOW, ERROR); } } } bug_assign($f_bug_id, $f_handler_id); print_successful_redirect_to_bug($f_bug_id);