1<?php 2# --------------------------------------------------------------------- 3# rth is a requirement, test, and bugtracking system 4# Copyright (C) 2005 George Holbrook - rth@lists.sourceforge.net 5# This program is distributed under the terms and conditions of the GPL 6# See the README and LICENSE files for details 7#---------------------------------------------------------------------- 8# ------------------------------------ 9# Bug Detail Update Page 10# 11# $RCSfile: bug_detail_update_page.php,v $ $Revision $ 12# ------------------------------------ 13 14include"./api/include_api.php"; 15auth_authenticate_user(); 16 17$page = basename(__FILE__); 18$action_page = 'bug_detail_update_action.php'; 19$s_project_properties = session_get_project_properties(); 20$project_name = $s_project_properties['project_name']; 21$project_id = $s_project_properties['project_id']; 22 23# Check to see if test_id is in GET (the user has clicked the pencil to go straight to update) 24if( isset($_GET['bug_id']) ) { 25 $s_bug_details = session_set_properties("bug", $_GET); 26} 27else { 28 $s_bug_details = session_get_properties("bug"); 29} 30$bug_id = $s_bug_details['bug_id']; 31$padded_bug_id = util_pad_id( $bug_id ); 32 33 34$s_show_options = session_get_show_options(); 35$show_priority = $s_show_options['show_priority']; 36 37if (isset($_GET['failed'])) { 38 $is_validation_failure = $_GET['failed']; 39} 40else { 41 $is_validation_failure = false; 42 43} 44 45html_window_title(); 46html_print_body(); 47html_page_title($project_name ." - ". lang_get('update_bug_page') ); 48html_page_header( $db, $project_name ); 49html_print_menu(); 50bug_menu_print ($page); 51 52error_report_check( $_GET ); 53 54$row = bug_get_detail( $bug_id ); 55 56$category = $row[CATEGORY_NAME]; 57$category_id = $row[CATEGORY_ID]; 58$component = $row[COMPONENT_NAME]; 59$component_id = $row[COMPONENT_ID]; 60$priority = $row[BUG_PRIORITY]; 61$severity = $row[BUG_SEVERITY]; 62$closed_reason_code = $row[BUG_CLOSED_REASON_CODE]; 63$bug_status = $row[BUG_STATUS]; 64$reporter = $row[BUG_REPORTER]; 65$reported_date = $row[BUG_REPORTED_DATE]; 66$assigned_to = $row[BUG_ASSIGNED_TO]; 67$assigned_to_developer = $row[BUG_ASSIGNED_TO_DEVELOPER]; 68$closed = $row[BUG_CLOSED]; 69$closed_date = $row[BUG_CLOSED_DATE]; 70$test_verify_id = $row[BUG_TEST_VERIFY_ID]; 71$req_version_id = $row[BUG_REQ_VERSION_ID]; 72$found_in_release = $row[BUG_FOUND_IN_RELEASE]; 73$assign_to_release = $row[BUG_ASSIGN_TO_RELEASE]; 74$imp_in_release = $row[BUG_IMPLEMENTED_IN_RELEASE]; 75$discovery_period = $row[BUG_DISCOVERY_PERIOD]; 76$summary = $row[BUG_SUMMARY]; 77$description = $row[BUG_DESCRIPTION]; 78 79if ( !empty($row) ) { 80 81 print"<br>"; 82 83 print"<div align=center>"; 84 print "<span class='required'>*</span><span class='print'>" . lang_get('must_complete_field') . "</span><br>"; 85 print"</div>". NEWLINE; 86 87 print "<div align=center>"; 88 89 print"<table class=width95>"; 90 print"<tr>"; 91 print"<td>"; 92 print"<table class=inner rules=none border=0>"; 93 print"<form method=post action=$action_page>"; 94 95 # FORM TITLE 96 print"<tr>"; 97 print"<td class=form-header-l colspan=2>".lang_get('update_bug')."</td>"; 98 print"</tr>"; 99 100 # BUG ID 101 print"<tr>". NEWLINE; 102 print"<td class=form-lbl-r>". lang_get('bug_id') ."</td>". NEWLINE; 103 print"<td class=form-data-l><a href='bug_detail_page.php?bug_id=$bug_id'>$padded_bug_id</a></td>". NEWLINE; 104 print"</tr>". NEWLINE; 105 106 # STATUS 107 print"<tr>". NEWLINE; 108 print"<td class=form-lbl-r>". lang_get('bug_status') ."</td>". NEWLINE; 109 print"<td class=form-data-l>". NEWLINE; 110 $selected_value = session_validate_form_get_field('bug_status', $bug_status); 111 print"<select name='bug_status'>". NEWLINE; 112 $statuses = bug_get_status(); 113 html_print_list_box_from_array( $statuses, $selected_value); 114 print"</select>". NEWLINE; 115 print"</td>". NEWLINE; 116 print"</tr>". NEWLINE; 117 118 # CATEGORY 119 print"<tr>". NEWLINE; 120 print"<td class=form-lbl-r>". lang_get('bug_category') ."</td>". NEWLINE; 121 print"<td class=form-data-l>". NEWLINE; 122 $selected_value = session_validate_form_get_field('bug_category', $category_id); 123 print"<select name='bug_category'>". NEWLINE; 124 $categories = bug_get_categories( $project_id, $blank=true ); 125 html_print_list_box_from_key_array( $categories, $selected_value ); 126 print"</select>". NEWLINE; 127 print"</td>". NEWLINE; 128 print"</tr>". NEWLINE; 129 130 # DISCOVERY PERIOD 131 print"<tr>". NEWLINE; 132 print"<td class=form-lbl-r nowrap>". lang_get('discovery_period') ."</td>". NEWLINE; 133 print"<td class=form-data-l>". NEWLINE; 134 $selected_value = session_validate_form_get_field('discovery_period', $discovery_period); 135 print"<select name='discovery_period' size=1>". NEWLINE; 136 $discovery_periods = bug_get_discovery_period( true ); 137 html_print_list_box_from_array( $discovery_periods, $selected_value); 138 print"</select>". NEWLINE; 139 print"</td>". NEWLINE; 140 print"</tr>". NEWLINE; 141 142 # COMPONENT 143 print"<td class=form-lbl-r>". lang_get('bug_component') ."</td>". NEWLINE; 144 print"<td class=form-data-l>". NEWLINE; 145 $selected_value = session_validate_form_get_field('bug_component', $component_id); 146 print"<select name='bug_component'>". NEWLINE; 147 html_print_list_box_from_key_array( bug_get_components( $project_id, $blank=true ), $selected=$selected_value); 148 print"</select>". NEWLINE; 149 print"</td>". NEWLINE; 150 print"</tr>". NEWLINE; 151 152 # PRIORITY 153 print"<tr>". NEWLINE; 154 print"<td class=form-lbl-r>". lang_get('bug_priority') ."</td>". NEWLINE; 155 print"<td class=form-data-l>". NEWLINE; 156 $selected_value = session_validate_form_get_field('bug_priority', $priority); 157 print"<select name='bug_priority' size=1>". NEWLINE; 158 $bug_priorities = bug_get_priorities( true ); 159 html_print_list_box_from_array( $bug_priorities, $selected_value); 160 print"</select>". NEWLINE; 161 print"</td>". NEWLINE; 162 print"</tr>". NEWLINE; 163 164 # SEVERITY 165 print"<tr>". NEWLINE; 166 print"<td class=form-lbl-r>". lang_get('bug_severity') ."</td>". NEWLINE; 167 print"<td class=form-data-l>". NEWLINE; 168 $selected_value = session_validate_form_get_field('bug_severity', $severity); 169 print"<select name='bug_severity' size=1>". NEWLINE; 170 $bug_severities = bug_get_severities( true ); 171 html_print_list_box_from_array( $bug_severities, $selected_value); 172 print"</select>". NEWLINE; 173 print"</td>". NEWLINE; 174 print"</tr>". NEWLINE; 175 176 # FOUND IN RELEASE 177 print"<tr>". NEWLINE; 178 print"<td class=form-lbl-r nowrap>". lang_get('found_in_release') ."</td>". NEWLINE; 179 print"<td class=form-data-l>". NEWLINE; 180 $selected_value = session_validate_form_get_field('found_in_release', $found_in_release); 181 print"<select name='found_in_release' size=1>". NEWLINE; 182 $releases = admin_get_all_release_names( $project_id, $blank=true ); 183 html_print_list_box_from_array( $releases, $selected_value); 184 print"</select>". NEWLINE; 185 print"</td>". NEWLINE; 186 print"</tr>". NEWLINE; 187 188 # ASSIGN TO RELEASE 189 print"<tr>". NEWLINE; 190 print"<td class=form-lbl-r nowrap>". lang_get('assign_to_release') ."</td>". NEWLINE; 191 print"<td class=form-data-l>". NEWLINE; 192 $selected_value = session_validate_form_get_field('assign_to_release', $assign_to_release); 193 print"<select name='assign_to_release' size=1>". NEWLINE; 194 $releases = admin_get_all_release_names( $project_id, $blank=true ); 195 html_print_list_box_from_array( $releases, $selected_value); 196 print"</select>". NEWLINE; 197 print"</td>". NEWLINE; 198 print"</tr>". NEWLINE; 199 200 # IMPLEMENTED IN RELEASE 201 print"<tr>". NEWLINE; 202 print"<td class=form-lbl-r nowrap>". lang_get('implemented_in_release') ."</td>". NEWLINE; 203 print"<td class=form-data-l>". NEWLINE; 204 $selected_value = session_validate_form_get_field('implemented_in_release', $imp_in_release); 205 print"<select name='implemented_in_release' size=1>". NEWLINE; 206 $releases = admin_get_all_release_names( $project_id, $blank=true ); 207 html_print_list_box_from_array( $releases, $selected_value); 208 print"</select>". NEWLINE; 209 print"</td>". NEWLINE; 210 print"</tr>". NEWLINE; 211 212 # ASSIGN TO 213 print"<tr>". NEWLINE; 214 print"<td class=form-lbl-r nowrap>". lang_get('assigned_to') ."</td>". NEWLINE; 215 print"<td class=form-data-l>". NEWLINE; 216 $selected_value = session_validate_form_get_field('assigned_to', $assigned_to); 217 print"<select name='assigned_to' size=1>". NEWLINE; 218 $assigned_to = user_get_usernames_by_project($project_id, $blank=true); 219 html_print_list_box_from_array( $assigned_to, $selected_value); 220 print"</select>". NEWLINE; 221 print"</td>". NEWLINE; 222 print"</tr>". NEWLINE; 223 224 # ASSIGN TO DEVELOPER 225 print"<tr>". NEWLINE; 226 print"<td class=form-lbl-r nowrap>". lang_get('assigned_to_developer') ."</td>". NEWLINE; 227 print"<td class=form-data-l>". NEWLINE; 228 $selected_value = session_validate_form_get_field('assigned_to_developer', $assigned_to_developer); 229 print"<select name='assigned_to_developer' size=1>". NEWLINE; 230 $assigned_to_developer = user_get_usernames_by_project($project_id, $blank=true); 231 html_print_list_box_from_array( $assigned_to_developer, $selected_value); 232 print"</select>". NEWLINE; 233 print"</td>". NEWLINE; 234 print"</tr>". NEWLINE; 235 236 # TEST VERIFICATION ID 237 # YOU CAN ONLY UPDATE THIS FROM THE VERFICATION PAGE 238 /* 239 print"<tr>". NEWLINE; 240 print"<td class=form-lbl-r>". lang_get('test_verification_id') ."</td>"; 241 print"<td class=form-data-l>". NEWLINE; 242 print"<input type=text size='10' name='verify_id' maxlength='10' value='" . session_validate_form_get_field ('verify_id', $test_verify_id); 243 print"'</td>". NEWLINE; 244 print"</tr>". NEWLINE; 245 */ 246 247 # SUMMARY 248 print"<tr>". NEWLINE; 249 print"<td class=form-lbl-r>". lang_get('bug_summary') ."<span class='required'>*</span></td>"; 250 print"<td class=form-data-l>". NEWLINE; 251 print"<input type=text size='100' name='summary_required' value='" . session_validate_form_get_field ('summary_required', $summary); 252 print"'</td>". NEWLINE; 253 print"</tr>". NEWLINE; 254 255 # DESCRIPTION 256 $description = session_validate_form_get_field('bug_description_required', $description, session_use_FCKeditor()); 257 print"<tr>". NEWLINE; 258 print"<td class=form-lbl-r>". lang_get('bug_description') ."<span class='required'>*</span></td>". NEWLINE; 259 print"<td class=form-data-l>". NEWLINE; 260 html_FCKeditor("bug_description_required", 640, 240, $description); 261 print"</td>". NEWLINE; 262 print"</tr>". NEWLINE; 263 264 print"<tr><td class=center colspan=2><input type=submit name='save' value='Update'><br><br></td></tr>"; 265 266 print"</form>"; 267 print"</table>"; 268 print"</td>"; 269 print"</tr>"; 270 print"</table>"; 271 print"<br>"; 272 print"</div>"; 273 print"</div>"; 274 275} 276 277html_print_footer(); 278 279# ------------------------------------ 280# $Log: bug_detail_update_page.php,v $ 281# Revision 1.3 2006/08/05 22:07:59 gth2 282# adding NEWLINE constant to support multiple OS newline chars - gth 283# 284# Revision 1.2 2006/02/24 11:38:20 gth2 285# update to div - class=div-c not working in firefox - gth 286# 287# Revision 1.1.1.1 2005/11/30 23:00:56 gth2 288# importing initial version - gth 289# 290# ------------------------------------ 291 292?>