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?>