Index: openacs-4/packages/bug-tracker/www/bug-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/bug-add.tcl,v diff -u -N -r1.8 -r1.9 --- openacs-4/packages/bug-tracker/www/bug-add.tcl 13 Jan 2003 15:26:29 -0000 1.8 +++ openacs-4/packages/bug-tracker/www/bug-add.tcl 5 Mar 2003 17:41:04 -0000 1.9 @@ -22,116 +22,81 @@ set package_id [ad_conn package_id] set package_key [ad_conn package_key] -set page_title "New Bug" +set page_title "New [bug_tracker::conn Bug]" set context_bar [bug_tracker::context_bar $page_title] set user_id [ad_conn user_id] +# Is this project using multiple versions? +set versions_p [bug_tracker::versions_p] # Create the form +ad_form -name bug -cancel_url $return_url -form { + bug_id:key(acs_object_id_seq) -form create bug -cancel_url . + {component_id:text(select) + {label "[bug_tracker::conn Component]"} + {options {[bug_tracker::components_get_options]}} + {value {[bug_tracker::conn component_id]}} + } + {summary:text + {label "Summary"} + {html {size 50}} + } + {found_in_version:text(select) + {label "Version"} + {options {[bug_tracker::version_get_options -include_unknown]}} + {value {[bug_tracker::conn user_version_id]}} + optional + } -element create bug bug_id \ - -datatype integer \ - -widget hidden + {return_url:text(hidden) {value $return_url}} +} +foreach {category_id category_name} [bug_tracker::category_types] { + ad_form -extend -name bug -form [list \ + [list "${category_id}:integer(select)" \ + [list label $category_name] \ + [list options [bug_tracker::category_get_options -parent_id $category_id]] \ + [list value [bug_tracker::get_default_keyword -parent_id $category_id]] \ + ] \ + ] +} -element create bug component_id \ - -datatype integer \ - -widget select \ - -label "Component" \ - -options [bug_tracker::components_get_options] +ad_form -extend -name bug -form { + {description:richtext(richtext) + {label "Description"} + {html {cols 60 rows 13}} + optional + } -element create bug bug_type \ - -datatype text \ - -widget select \ - -label "Type of bug" \ - -options [bug_tracker::bug_type_get_options] \ - -optional +} -element create bug summary \ - -datatype text \ - -label "Summary" \ - -html { size 50 } +ad_form -extend -name bug -new_data { + bug_tracker::bug::new \ + -bug_id $bug_id \ + -package_id $package_id \ + -component_id $component_id \ + -found_in_version $found_in_version \ + -summary $summary \ + -description [template::util::richtext::get_property contents $description] \ + -desc_format [template::util::richtext::get_property format $description] -element create bug severity \ - -datatype integer \ - -widget select \ - -label "Severity" \ - -options [bug_tracker::severity_codes_get_options] \ - -optional - -element create bug priority \ - -datatype integer \ - -widget select \ - -label "Priority" \ - -options [bug_tracker::priority_codes_get_options] \ - -optional - -element create bug found_in_version \ - -datatype integer \ - -widget select \ - -label "Version" \ - -options [bug_tracker::version_get_options -include_unknown] \ - -optional - -element create bug description \ - -datatype text \ - -widget textarea \ - -label "Description" \ - -html { cols 50 rows 10 } \ - -optional - -element create bug desc_format \ - -datatype text \ - -widget select \ - -label "Description format" \ - -options { { "Plain" plain } { "HTML" html } { "Preformatted" pre } } - -element create bug return_url \ - -datatype text \ - -widget hidden \ - -value $return_url - - -if { [form is_request bug] } { - - element set_properties bug bug_id -value [db_nextval "acs_object_id_seq"] - - element set_properties bug found_in_version \ - -value [bug_tracker::conn user_version_id] - - element set_properties bug severity -value [bug_tracker::severity_get_default] - element set_properties bug priority -value [bug_tracker::priority_get_default] - - if { ![empty_string_p [bug_tracker::conn component_id]] } { - element set_properties bug component_id -value [bug_tracker::conn component_id] + foreach {category_id category_name} [bug_tracker::category_types] { + # -singular not required here since it's a new bug + cr::keyword::item_assign -item_id $bug_id -keyword_id [element get_value bug $category_id] } + +} -after_submit { + bug_tracker::bugs_exist_p_set_true - element set_properties bug desc_format -value "plain" - -} - - -if { [form is_valid bug] } { - - form get_values bug bug_id component_id bug_type severity priority found_in_version summary description desc_format - - bug_tracker::bug::new \ - -bug_id $bug_id \ - -package_id $package_id \ - -component_id $component_id \ - -bug_type $bug_type \ - -severity $severity \ - -priority $priority \ - -found_in_version $found_in_version \ - -summary $summary \ - -description $description \ - -desc_format $desc_format - ad_returnredirect $return_url ad_script_abort } + +if { !$versions_p } { + element set_properties bug found_in_version -widget hidden +} + ad_return_template