コード例 #1
0
ファイル: bug_api.php プロジェクト: rasperen/mantisbt
/**
 * Moves an issue from a project to another.
 *
 * @todo Validate with sub-project / category inheritance scenarios.
 * @param int p_bug_id The bug to be moved.
 * @param int p_target_project_id The target project to move the bug to.
 * @access public
 */
function bug_move($p_bug_id, $p_target_project_id)
{
    // Attempt to move disk based attachments to new project file directory.
    file_move_bug_attachments($p_bug_id, $p_target_project_id);
    // Move the issue to the new project.
    bug_set_field($p_bug_id, 'project_id', $p_target_project_id);
    // Update the category if needed
    $t_category_id = bug_get_field($p_bug_id, 'category_id');
    // Bug has no category
    if ($t_category_id == 0) {
        // Category is required in target project, set it to default
        if (ON != config_get('allow_no_category', null, null, $p_target_project_id)) {
            bug_set_field($p_bug_id, 'category_id', config_get('default_category_for_moves'));
        }
    } else {
        $t_category_project_id = category_get_field($t_category_id, 'project_id');
        if ($t_category_project_id != ALL_PROJECTS && !project_hierarchy_inherit_parent($p_target_project_id, $t_category_project_id)) {
            // Map by name
            $t_category_name = category_get_field($t_category_id, 'name');
            $t_target_project_category_id = category_get_id_by_name($t_category_name, $p_target_project_id, false);
            if ($t_target_project_category_id === false) {
                // Use default category after moves, since there is no match by name.
                $t_target_project_category_id = config_get('default_category_for_moves');
            }
            bug_set_field($p_bug_id, 'category_id', $t_target_project_category_id);
        }
    }
}
コード例 #2
0
	<td width="20%">
		<?php 
    echo lang_get('description');
    ?>
	</td>
	<td width="20%">
		<?php 
    echo lang_get('actions');
    ?>
	</td>
</tr>

<?php 
    foreach ($t_subproject_ids as $t_subproject_id) {
        $t_subproject = project_get_row($t_subproject_id);
        $t_inherit_parent = project_hierarchy_inherit_parent($t_subproject_id, $f_project_id, true);
        ?>
<tr <?php 
        echo helper_alternate_class();
        ?>
>
	<td>
		<a href="manage_proj_edit_page.php?project_id=<?php 
        echo $t_subproject['id'];
        ?>
"><?php 
        echo string_display($t_subproject['name']);
        ?>
</a>
	</td>
	<td class="center">
コード例 #3
0
ファイル: bug_api.php プロジェクト: rombert/mantisbt
/**
 * Moves an issue from a project to another.
 *
 * @todo Validate with sub-project / category inheritance scenarios.
 * @param int p_bug_id The bug to be moved.
 * @param int p_target_project_id The target project to move the bug to.
 * @access public
 */
function bug_move( $p_bug_id, $p_target_project_id ) {
	// Attempt to move disk based attachments to new project file directory.
	file_move_bug_attachments( $p_bug_id, $p_target_project_id );

	// Move the issue to the new project.
	bug_set_field( $p_bug_id, 'project_id', $p_target_project_id );

	// Check if the category for the issue is global or not.
	$t_category_id = bug_get_field( $p_bug_id, 'category_id' );
	$t_category_project_id = category_get_field( $t_category_id, 'project_id' );

	// If not global, then attempt mapping it to the new project.
	if ( $t_category_project_id != ALL_PROJECTS && !project_hierarchy_inherit_parent( $p_target_project_id, $t_category_project_id ) ) {
		// Map by name
		$t_category_name = category_get_field( $t_category_id, 'name' );
		$t_target_project_category_id = category_get_id_by_name( $t_category_name, $p_target_project_id, /* triggerErrors */ false );
		if ( $t_target_project_category_id === false ) {
			// Use default category after moves, since there is no match by name.
			$t_target_project_category_id = config_get( 'default_category_for_moves' );
		}

		bug_set_field( $p_bug_id, 'category_id', $t_target_project_category_id );
	}
}