Index: openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl,v diff -u -r1.63.2.1 -r1.63.2.2 --- openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl 24 Mar 2004 19:26:28 -0000 1.63.2.1 +++ openacs-4/packages/acs-authentication/tcl/authentication-procs.tcl 29 Apr 2004 10:36:06 -0000 1.63.2.2 @@ -449,6 +449,9 @@ } } + # email_verified_p + set user_info(email_verified_p) $email_verified_p + db_transaction { array set creation_info [auth::create_local_account \ -user_id $user_id \ Index: openacs-4/packages/bug-tracker/bug-tracker.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/bug-tracker.info,v diff -u -r1.18 -r1.18.2.1 --- openacs-4/packages/bug-tracker/bug-tracker.info 26 Feb 2004 15:28:58 -0000 1.18 +++ openacs-4/packages/bug-tracker/bug-tracker.info 29 Apr 2004 10:36:07 -0000 1.18.2.1 @@ -7,7 +7,7 @@ f f - + postgresql oracle @@ -18,7 +18,7 @@ Musea Technologies Bug tracking application with notifications, configurable state management, and patch upload. Contains the best of SDM, Bugzilla, FogBUGZ, and bughost.com. - + Index: openacs-4/packages/bug-tracker/tcl/bug-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-procs-oracle.xql,v diff -u -r1.4 -r1.4.2.1 --- openacs-4/packages/bug-tracker/tcl/bug-procs-oracle.xql 28 Jan 2004 09:45:40 -0000 1.4 +++ openacs-4/packages/bug-tracker/tcl/bug-procs-oracle.xql 29 Apr 2004 10:36:07 -0000 1.4.2.1 @@ -153,49 +153,83 @@ + - - select q.*, - km.keyword_id - from ( - select b.bug_id, - b.bug_number, - b.summary, - b.comment_content, - b.comment_format, - b.component_id, - b.creation_date, - to_char(b.creation_date, 'fmMM/DDfm/YYYY') as creation_date_pretty, - b.creation_user as submitter_user_id, - submitter.first_names as submitter_first_names, - submitter.last_name as submitter_last_name, - submitter.email as submitter_email, - st.pretty_name as pretty_state, - st.short_name as state_short_name, - st.state_id, - st.hide_fields, - b.resolution, - b.found_in_version, - b.fix_for_version, - b.fixed_in_version - from $from_bug_clause, - cc_users submitter, - workflow_cases cas, - workflow_case_fsm cfsm, - workflow_fsm_states st - where submitter.user_id = b.creation_user - and cas.workflow_id = :workflow_id - and cas.object_id = b.bug_id - and cfsm.case_id = cas.case_id - and cfsm.parent_enabled_action_id is null - and st.state_id = cfsm.current_state - $orderby_category_where_clause - [template::list::filter_where_clauses -and -name "bugs"] - [template::list::orderby_clause -orderby -name "bugs"] - ) q, - cr_item_keyword_map km - where km.item_id (+) = q.bug_id +select q.*, + km.keyword_id, + assign_info.* +from ( + select b.bug_id, + b.bug_number, + b.summary, + lower(b.summary) as lower_summary, + b.comment_content, + b.comment_format, + b.component_id, + b.creation_date, + to_char(b.creation_date, 'fmMM/DDfm/YYYY') as creation_date_pretty, + b.creation_user as submitter_user_id, + submitter.first_names as submitter_first_names, + submitter.last_name as submitter_last_name, + submitter.email as submitter_email, + lower(submitter.first_names) as lower_submitter_first_names, + lower(submitter.last_name) as lower_submitter_last_name, + lower(submitter.email) as lower_submitter_email, + st.pretty_name as pretty_state, + st.short_name as state_short_name, + st.state_id, + st.hide_fields, + b.resolution, + b.found_in_version, + b.fix_for_version, + b.fixed_in_version, + cas.case_id + $more_columns + from $from_bug_clause, + acs_users_all submitter, + acs_users_all assignee, + workflow_cases cas, + workflow_case_fsm cfsm, + workflow_fsm_states st + where submitter.user_id = b.creation_user + and cas.workflow_id = :workflow_id + and cas.object_id = b.bug_id + and cfsm.case_id = cas.case_id + and cfsm.parent_enabled_action_id is null + and st.state_id = cfsm.current_state + $orderby_category_where_clause + [template::list::filter_where_clauses -and -name "bugs"] + [template::list::orderby_clause -orderby -name "bugs"] +) q, + cr_item_keyword_map km, + (select cru.user_id as assigned_user_id, + aa.action_id, + aa.case_id, + wa.pretty_name as action_pretty_name, + assignee.first_names as assignee_first_names, + assignee.last_name as assignee_last_name + from workflow_case_assigned_actions aa, + workflow_case_role_user_map cru, + workflow_actions wa, + acs_users_all assignee + where aa.case_id = cru.case_id + and aa.role_id = cru.role_id + and cru.user_id = assignee.user_id + and wa.action_id = aa.action_id + ) assign_info +where q.bug_id = km.item_id (+) + and q.case_id = assign_info.case_id (+) Index: openacs-4/packages/bug-tracker/tcl/bug-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-procs-postgresql.xql,v diff -u -r1.5 -r1.5.2.1 --- openacs-4/packages/bug-tracker/tcl/bug-procs-postgresql.xql 28 Jan 2004 09:45:40 -0000 1.5 +++ openacs-4/packages/bug-tracker/tcl/bug-procs-postgresql.xql 29 Apr 2004 10:36:07 -0000 1.5.2.1 @@ -140,49 +140,85 @@ + - - select q.*, - km.keyword_id - from ( - select b.bug_id, - b.bug_number, - b.summary, - b.comment_content, - b.comment_format, - b.component_id, - b.creation_date, - to_char(b.creation_date, 'fmMM/DDfm/YYYY') as creation_date_pretty, - b.creation_user as submitter_user_id, - submitter.first_names as submitter_first_names, - submitter.last_name as submitter_last_name, - submitter.email as submitter_email, - st.pretty_name as pretty_state, - st.short_name as state_short_name, - st.state_id, - st.hide_fields, - b.resolution, - b.found_in_version, - b.fix_for_version, - b.fixed_in_version - from $from_bug_clause, - cc_users submitter, - workflow_cases cas, - workflow_case_fsm cfsm, - workflow_fsm_states st - where submitter.user_id = b.creation_user - and cas.workflow_id = :workflow_id - and cas.object_id = b.bug_id - and cfsm.case_id = cas.case_id - and cfsm.parent_enabled_action_id is null - and st.state_id = cfsm.current_state - $orderby_category_where_clause - [template::list::filter_where_clauses -and -name "bugs"] - [template::list::orderby_clause -orderby -name "bugs"] - ) q left outer join - cr_item_keyword_map km on (km.item_id = q.bug_id) - +select q.*, + km.keyword_id, + assign_info.* +from ( + select b.bug_id, + b.bug_number, + b.summary, + lower(b.summary) as lower_summary, + b.comment_content, + b.comment_format, + b.component_id, + b.creation_date, + to_char(b.creation_date, 'fmMM/DDfm/YYYY') as creation_date_pretty, + b.creation_user as submitter_user_id, + submitter.first_names as submitter_first_names, + submitter.last_name as submitter_last_name, + submitter.email as submitter_email, + lower(submitter.first_names) as lower_submitter_first_names, + lower(submitter.last_name) as lower_submitter_last_name, + lower(submitter.email) as lower_submitter_email, + st.pretty_name as pretty_state, + st.short_name as state_short_name, + st.state_id, + st.hide_fields, + b.resolution, + b.found_in_version, + b.fix_for_version, + b.fixed_in_version, + cas.case_id + $more_columns + from $from_bug_clause, + acs_users_all submitter, + acs_users_all assignee, + workflow_cases cas, + workflow_case_fsm cfsm, + workflow_fsm_states st + where submitter.user_id = b.creation_user + and cas.workflow_id = :workflow_id + and cas.object_id = b.bug_id + and cfsm.case_id = cas.case_id + and cfsm.parent_enabled_action_id is null + and st.state_id = cfsm.current_state + $orderby_category_where_clause + [template::list::filter_where_clauses -and -name "bugs"] +) q +left outer join + cr_item_keyword_map km +on (bug_id = km.item_id) +left outer join + (select cru.user_id as assigned_user_id, + aa.action_id, + aa.case_id, + wa.pretty_name as action_pretty_name, + assignee.first_names as assignee_first_names, + assignee.last_name as assignee_last_name + from workflow_case_assigned_actions aa, + workflow_case_role_user_map cru, + workflow_actions wa, + acs_users_all assignee + where aa.case_id = cru.case_id + and aa.role_id = cru.role_id + and cru.user_id = assignee.user_id + and wa.action_id = aa.action_id + ) assign_info +on (q.case_id = assign_info.case_id) + [template::list::orderby_clause -orderby -name "bugs"] Index: openacs-4/packages/bug-tracker/tcl/bug-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bug-tracker/tcl/bug-procs.tcl,v diff -u -r1.14 -r1.14.2.1 --- openacs-4/packages/bug-tracker/tcl/bug-procs.tcl 8 Mar 2004 14:01:19 -0000 1.14 +++ openacs-4/packages/bug-tracker/tcl/bug-procs.tcl 29 Apr 2004 10:36:07 -0000 1.14.2.1 @@ -712,6 +712,13 @@ display_template {@bugs.submitter_first_names@ @bugs.submitter_last_name@} hide_p 1 } + assigned_to { + label "Assigned To" + display_template {@bugs.assignee_first_names@ + @bugs.assignee_last_name@ + to + @bugs.action_pretty_name@} + } } if { [bug_tracker::versions_p] } { @@ -742,18 +749,18 @@ default_value bug_number,desc bug_number { label "[bug_tracker::conn Bug] \#" - orderby b.bug_number + orderby bug_number default_direction desc } summary { label "Summary" - orderby_asc {upper(b.summary) asc, b.summary asc, b.bug_number asc} - orderby_desc {upper(b.summary) desc, b.summary desc, b.bug_number desc} + orderby_asc {lower_summary asc, summary asc, bug_number asc} + orderby_desc {lower_summary desc, summary desc, bug_number desc} } submitter { label "Submitter" - orderby_asc {upper(submitter.first_names) asc, upper(submitter.last_name) asc, b.bug_number asc} - orderby_asc {upper(submitter.first_names) desc, upper(submitter.last_name) desc, b.bug_number desc} + orderby_asc {lower_submitter_first_names asc, lower_submitter_last_name asc, bug_number asc} + orderby_desc {lower_submitter_first_names desc, lower_submitter_last_name desc, bug_number desc} } } @@ -778,8 +785,8 @@ lappend orderbys $name \ [list \ label $parent_heading \ - orderby_desc {kw_order.heading desc, b.bug_number desc} \ - orderby_asc {kw_order.heading asc, b.bug_number asc}] + orderby_desc {heading desc, bug_number desc} \ + orderby_asc {heading asc, bug_number asc}] } if { [bug_tracker::versions_p] } { @@ -870,6 +877,16 @@ if { [info exists orderby] && [regexp {^category_(.*),.*$} $orderby match orderby_parent_id] } { append from_bug_clause [db_map orderby_category_from_bug_clause] set orderby_category_where_clause [db_map orderby_category_where_clause] + + # Branimir: The ORDER BY clause needs to be at the very end of the + # query. That also means that we need to have in the select list every + # column we want to order by. Which colums we can afford to have in + # the select list depends on which tables are we joining against. BTW, + # all these kludges are consequence of the initial (bad, IMHO) decision + # to do the joins against cr_keywords in memory rather then in SQL. + set more_columns ", kw_order.heading as heading" + } else { + set more_columns "" } return [db_map bugs] @@ -887,6 +904,7 @@ set extend_list { comment_short submitter_url + assignee_url status_pretty resolution_pretty component_name @@ -920,6 +938,7 @@ set fixed_in_version_name [bug_tracker::version_get_name -version_id $fixed_in_version] set comment_short [string_truncate -len $truncate_len -- $comment_content] set submitter_url [acs_community_member_url -user_id $submitter_user_id] + set assignee_url [acs_community_member_url -user_id $assigned_user_id] set resolution_pretty [bug_tracker::resolution_pretty $resolution] # Hide fields in this state Index: openacs-4/packages/calendar/www/view-one-day-display.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-one-day-display.tcl,v diff -u -r1.28 -r1.28.2.1 --- openacs-4/packages/calendar/www/view-one-day-display.tcl 19 Feb 2004 17:58:37 -0000 1.28 +++ openacs-4/packages/calendar/www/view-one-day-display.tcl 29 Apr 2004 10:36:07 -0000 1.28.2.1 @@ -106,22 +106,17 @@ set ansi_start_date [lc_time_system_to_conn $ansi_start_date] set ansi_end_date [lc_time_system_to_conn $ansi_end_date] - set start_hour [lc_time_fmt $ansi_start_date "%H"] - set end_hour [lc_time_fmt $ansi_end_date "%H"] set start_time [lc_time_fmt $ansi_start_date "%X"] set end_time [lc_time_fmt $ansi_end_date "%X"] - if {![regexp {([1-9][0-9]*)} $start_hour match start_hour_no]} { - set start_hour_no 0 + if {($start_hour == $end_hour) || ($end_minutes > 0)} { + incr end_hour } - if {![regexp {([1-9][0-9]*)} $end_hour match end_hour_no]} { - set end_hour_no 0 - } for { set item_current_hour $start_hour } { $item_current_hour < $end_hour } { incr item_current_hour } { set item_current_hour [expr [string trimleft $item_current_hour 0]+0] - if { $start_hour_no == $item_current_hour } { + if { $start_hour == $item_current_hour } { lappend day_items_per_hour \ [list $item_current_hour $name $item_id $calendar_name $status_summary $start_hour $end_hour $start_time $end_time] } else { @@ -207,7 +202,7 @@ if {$day_current_hour < $end_display_hour } { # need to add dummy entries to show all hours - for { } { $day_current_hour <= $end_display_hour } { incr day_current_hour } { + for { } { $day_current_hour < $end_display_hour } { incr day_current_hour } { set localized_day_current_hour [lc_time_fmt "$current_date $day_current_hour:00:00" "%X" [ad_conn locale]] multirow append items \ "" \