Index: openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl,v diff -u -r1.4 -r1.5 --- openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl 29 Aug 2002 09:41:54 -0000 1.4 +++ openacs-4/packages/bug-tracker/tcl/bug-tracker-procs.tcl 29 Aug 2002 11:31:48 -0000 1.5 @@ -455,8 +455,17 @@ close "Closed" } if { [info exists action_codes($action)] } { - set resolution_pretty [resolution_pretty $resolution] - return "$action_codes($action) [ad_decode $resolution_pretty "" "" " ($resolution_pretty)"]" + + set action_pretty $action_codes($action) + + if { [string equal $action "resolve"] } { + set resolution_pretty [resolution_pretty $resolution] + if { ![empty_string_p $resolution_pretty] } { + append action_pretty " ($resolution_pretty)" + } + } + + return $action_pretty } else { return "" } @@ -481,6 +490,46 @@ return $users_list } + ##### + # + # Truncate + # + ##### + + ad_proc string_truncate { + {-len} + {-format html} + string + } { + Truncates a string to len characters (defaults to the + parameter TruncateDescriptionLength), adding an ellipsis (...) if the + string was truncated. If format is html (default), any open + HTML tags are closed. Otherwise, it's converted to text using + ad_html_to_text. + + @param len The lenght to truncate to. Defaults to parameter TruncateDescriptionLength. + @param format html or text. + @param string The string to truncate. + @return The truncated string, with HTML tags cloosed or + converted to text, depending on format. + } { + if { ![info exists len] } { + set len [ad_parameter "TruncateDescriptionLength" -default 200] + } + + if { [string length $string] > $len } { + set string "[string range $string 0 $len]..." + } + + if { [string equal $format "html"] } { + set string [util_close_html_tags $string] + } else { + set string [ad_html_to_text -- $string] + } + return $string + } + + ##### # @@ -493,6 +542,7 @@ action comment comment_format + {resolution ""} } { ns_log Notice "bug_id = $bug_id" @@ -554,11 +604,11 @@ and submitter.user_id = o.creation_user } -column_array bug - set subject "Bug #$bug(bug_number). $bug(summary): [bug_action_pretty $action] by [conn user_first_names] [conn user_last_name]" + set subject "Bug #$bug(bug_number). [string_truncate -len 30 $bug(summary)]: [bug_action_pretty $action $resolution] by [conn user_first_names] [conn user_last_name]" set body "Bug #$bug(bug_number). $bug(summary) - Action: [bug_action_pretty $action] by [conn user_first_names] [conn user_last_name] + Action: [bug_action_pretty $action $resolution] by [conn user_first_names] [conn user_last_name] " if { ![empty_string_p $comment] } { append body " Index: openacs-4/packages/bug-tracker/www/bug.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/bug.tcl,v diff -u -r1.6 -r1.7 --- openacs-4/packages/bug-tracker/www/bug.tcl 29 Aug 2002 09:41:55 -0000 1.6 +++ openacs-4/packages/bug-tracker/www/bug.tcl 29 Aug 2002 11:31:49 -0000 1.7 @@ -458,6 +458,10 @@ } } + if { ![info exists resolution] || ![string equal $mode "resolve"] } { + set resolution {} + } + db_transaction { set bug_id [db_string bug_id { select bug_id from bt_bugs where bug_number = :bug_number and project_id = :package_id }] @@ -472,10 +476,6 @@ set $column [element get_value bug $column] } - if { ![info exists resolution] } { - set resolution {} - } - db_dml bug_action { insert into bt_bug_actions (action_id, bug_id, action, resolution, actor, comment, comment_format) @@ -484,10 +484,11 @@ } } - bug_tracker::bug_notify $bug_id $mode $description $desc_format + bug_tracker::bug_notify $bug_id $mode $description $desc_format $resolution ad_returnredirect $return_url ad_script_abort } ad_return_template + Index: openacs-4/packages/bug-tracker/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/www/index.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/bug-tracker/www/index.tcl 28 Aug 2002 15:44:18 -0000 1.2 +++ openacs-4/packages/bug-tracker/www/index.tcl 29 Aug 2002 11:31:49 -0000 1.3 @@ -98,8 +98,6 @@ } } -set truncate_len [ad_parameter "TruncateDescriptionLength" -default 200] - db_multirow -extend { description_short submitter_url status_pretty resolution_pretty bug_type_pretty original_esimate_pretty latest_estimate_pretty elapsed_time_pretty assignee_url bug_url } bugs bugs " select b.bug_id, b.bug_number, @@ -157,12 +155,7 @@ [ad_decode $where_clauses "" "" "and [join $where_clauses " and "]"] order by b.bug_number desc " { - set desc_as_text [bug_tracker::bug_convert_comment_to_text -comment $description -format $desc_format] - if { [string length $desc_as_text] > $truncate_len } { - set description_short "[util_close_html_tags [string range $desc_as_text 0 $truncate_len]]..." - } else { - set description_short [util_close_html_tags $desc_as_text] - } + set description_short [bug_tracker::string_truncate [bug_tracker::bug_convert_comment_to_text -comment $description -format $desc_format]] set submitter_url [acs_community_member_url -user_id $submitter_user_id] set status_pretty [bug_tracker::status_pretty $status] set resolution_pretty [bug_tracker::resolution_pretty $resolution]