Index: openacs-4/packages/calendar/www/view-week-display.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-week-display.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/calendar/www/view-week-display.tcl 29 Aug 2003 20:46:43 -0000 1.7 +++ openacs-4/packages/calendar/www/view-week-display.tcl 12 Sep 2003 20:00:13 -0000 1.8 @@ -17,6 +17,33 @@ if { ![info exists item_template] } { set item_template "\$item" } + +# NEW +if { ![info exists show_calendar_name_p] } { + set show_calendar_name_p 1 +} + +if { ![info exists prev_week_template] } { + set prev_week_template "" +} + +if { ![info exists next_week_template] } { + set next_week_template "" +} + +if { ![info exists url_stub_callback] } { + set url_stub_callback "" +} + +if {[exists_and_not_null $calendar_id_list]} { + set calendars_clause "and on_which_calendar in ([join $calendar_id_list ","]) and (cals.private_p='f' or (cals.private_p='t' and cals.owner_id= :user_id))" +} else { + set calendars_clause "and (cals.package_id= :package_id or (cals.private_p='f' or (cals.private_p='t' and cals.owner_id= :user_id)))" +} + +if { ![info exists item_add_template] } { + set item_add_template "" +} # calendar-portlet @@ -34,34 +61,30 @@ set start_date $date -# If we were given no calendars, we assume we display the -# private calendar. It makes no sense for this to be called with -# no data whatsoever. -if {[empty_string_p $calendar_id_list]} { - set calendar_id_list [list [calendar_have_private_p -return_id 1 [ad_get_user_id]]] -} - # Convert date from user timezone to system timezone #set system_start_date [lc_time_conn_to_system "$date 00:00:00"] +set first_day_of_week [lc_get firstdayofweek] +set first_us_weekday [lindex [lc_get -locale en_US day] $first_day_of_week] +set last_us_weekday [lindex [lc_get -locale en_US day] [expr [expr $first_day_of_week + 6] % 7]] + db_1row select_weekday_info {} db_1row select_week_info {} set current_weekday 0 -# Loop through the calendars multirow create week_items name item_id start_date calendar_name status_summary day_of_week start_date_weekday start_time end_time no_time_p full_item # Convert date from user timezone to system timezone -set sunday_of_the_week_system [lc_time_conn_to_system "$sunday_of_the_week 00:00:00"] -set saturday_of_the_week_system [lc_time_conn_to_system "$saturday_of_the_week 00:00:00"] +set first_weekday_of_the_week_system [lc_time_conn_to_system "$first_weekday_of_the_week 00:00:00"] +set last_weekday_of_the_week_system [lc_time_conn_to_system "$last_weekday_of_the_week 00:00:00"] db_foreach select_week_items {} { # Convert from system timezone to user timezone 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 day_of_week [lc_time_fmt $ansi_start_date "%f"] + set day_of_week [expr [lc_time_fmt $ansi_start_date "%f"] - $first_day_of_week] set start_date_weekday [lc_time_fmt $ansi_start_date "%A"] set start_date [lc_time_fmt $ansi_start_date "%x"] @@ -70,12 +93,10 @@ set start_time [lc_time_fmt $ansi_start_date "%X"] set end_time [lc_time_fmt $ansi_end_date "%X"] - if {$day_of_week > $current_weekday} { - # need to add dummy entries to show all days - for { } { $current_weekday < $day_of_week } { incr current_weekday } { - set ansi_this_date [dt_julian_to_ansi [expr $sunday_julian + $current_weekday]] - multirow append week_items "" "" [lc_time_fmt $ansi_this_date "%x"] "" "" $current_weekday [lc_time_fmt $ansi_this_date %A] "" "" "" "" - } + # need to add dummy entries to show all days + for { } { $current_weekday < $day_of_week } { incr current_weekday } { + set ansi_this_date [dt_julian_to_ansi [expr $first_weekday_julian + $current_weekday]] + multirow append week_items "" "" [lc_time_fmt $ansi_this_date "%x"] "" "" $current_weekday [lc_time_fmt $ansi_this_date %A] "" "" "" "" } if {[string equal $start_time "12:00 AM"] && [string equal $end_time "12:00 AM"]} { @@ -104,12 +125,12 @@ if {$current_weekday < 7} { # need to add dummy entries to show all hours for { } { $current_weekday < 7 } { incr current_weekday } { - set ansi_this_date [dt_julian_to_ansi [expr $sunday_julian + $current_weekday]] + set ansi_this_date [dt_julian_to_ansi [expr $first_weekday_julian + $current_weekday]] multirow append week_items "" "" [lc_time_fmt $ansi_this_date "%x"] "" "" $current_weekday [lc_time_fmt $ansi_this_date %A] "" "" "" "" } } # Navigation Bar -set dates "[util_AnsiDatetoPrettyDate $sunday_date] - [util_AnsiDatetoPrettyDate $saturday_date]" -set url_previous_week "" -set url_next_week "" +set dates "[lc_time_fmt $first_weekday_date "%q"] - [lc_time_fmt $last_weekday_date "%q"]" +set url_previous_week "" +set url_next_week ""