Ejemplo n.º 1
0
     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)) {
Ejemplo n.º 2
0
# 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);
Ejemplo n.º 3
0
     } 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 {
Ejemplo n.º 4
0
# 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);