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