Index: openacs-4/packages/calendar/tcl/calendar-display-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/tcl/Attic/calendar-display-procs-postgresql.xql,v
diff -u -r1.10 -r1.11
--- openacs-4/packages/calendar/tcl/calendar-display-procs-postgresql.xql	23 May 2003 13:16:08 -0000	1.10
+++ openacs-4/packages/calendar/tcl/calendar-display-procs-postgresql.xql	26 May 2003 09:59:54 -0000	1.11
@@ -3,51 +3,6 @@
 <queryset>
    <rdbms><type>postgresql</type><version>7.1</version></rdbms>
 
-<fullquery name="calendar::one_month_display.select_monthly_items">      
-      <querytext>
-      
-	select   to_char(start_date, 'J') as start_date,
-                 to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_start_date,
-                 to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_end_date,
-	         coalesce(e.name, a.name) as name,
-	         coalesce(e.description, a.description) as description,
-                 coalesce(e.status_summary, a.status_summary) as status_summary,
-	         e.event_id as item_id,
-		 (select on_which_calendar from cal_items where cal_item_id = e.event_id) as calendar_id,
-		 (select calendar_name from calendars 
-		 where calendar_id = (select on_which_calendar from cal_items where cal_item_id= e.event_id))
-		 as calendar_name
-	from     acs_activities a,
-	         acs_events e,
-	         timespans s,
-	         time_intervals t
-	where    e.timespan_id = s.timespan_id
-	and      s.interval_id = t.interval_id
-	and      e.activity_id = a.activity_id
-	and      e.event_id
-	in       (
-	         select  cal_item_id
-	         from    cal_items
-	         where   on_which_calendar in ([join $calendar_id_list ","])
-         )
-         order by start_date,end_date	
-      </querytext>
-</fullquery>
-
-
-<fullquery name="calendar::one_week_display.select_weekday_info">
-<querytext>
-        select   to_char(to_date(:current_date, 'yyyy-mm-dd'), 'D') 
-        as       day_of_the_week,
-        to_char(next_day(to_date(:current_date, 'yyyy-mm-dd')- '1 week'::interval, 'Sunday'), 'YYYY-MM-DD')
-        as       sunday_of_the_week,
-        to_char(next_day(to_date(:current_date, 'yyyy-mm-dd'), 'Saturday'), 'YYYY-MM-DD')
-        as       saturday_of_the_week
-        from     dual
-</querytext>
-</fullquery>
-
-
 <fullquery name="calendar::one_week_display.select_week_items">
 <querytext>
 select   to_char(start_date, 'J') as start_date_julian,
@@ -84,78 +39,6 @@
 </querytext>
 </fullquery>
 
-<fullquery name="calendar::one_day_display.select_day_items">
-<querytext>
-	select   to_char(start_date, 'HH24') as start_hour,
-         to_char(start_date, 'HH24:MI') as start_date,
-         to_char(end_date, 'HH24:MI') as end_date,
-         to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_start_date,
-         to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_end_date,
-         coalesce(e.name, a.name) as name,
-         coalesce(e.status_summary, a.status_summary) as status_summary,
-         e.event_id as item_id,
-         (select type from cal_item_types where item_type_id= cal_items.item_type_id) as item_type,
-	 on_which_calendar as calendar_id,
-	 (select calendar_name from calendars 
-	 where calendar_id = on_which_calendar)
-	 as calendar_name
-from     acs_activities a,
-         acs_events e,
-         timespans s,
-         time_intervals t,
-         cal_items
-where    e.timespan_id = s.timespan_id
-and      s.interval_id = t.interval_id
-and      e.activity_id = a.activity_id
-and      start_date between
-         to_date(:current_date,:date_format) and
-         to_date(:current_date,:date_format) + cast('23 hours 59 minutes 59 seconds' as interval)
-and      cal_items.cal_item_id= e.event_id
-and      e.event_id
-in       (
-         select  cal_item_id
-         from    cal_items
-         where   on_which_calendar in ([join $calendar_id_list ","])
-         )
-	
-</querytext>
-</fullquery>
-
-<fullquery name="calendar::list_display.select_list_items">
-<querytext>
-	select   to_char(start_date, 'HH24') as start_hour,
-         to_char(start_date, 'YYYY-MM-DD') as pretty_start_date,
-         to_char(start_date, 'HH24:MI:SS') as start_time,
-         to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_start_date,
-         to_char(end_date, 'YYYY-MM-DD') as pretty_end_date,
-         to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_end_date,
-         coalesce(e.name, a.name) as name,
-         e.event_id as item_id,
-         (select type from cal_item_types where item_type_id= cal_items.item_type_id) as item_type,
-         to_char(start_date, 'Day') as pretty_weekday
-from     acs_activities a,
-         acs_events e,
-         timespans s,
-         time_intervals t,
-         cal_items
-where    e.timespan_id = s.timespan_id
-and      s.interval_id = t.interval_id
-and      e.activity_id = a.activity_id
-and      cal_items.cal_item_id= e.event_id
-and      (start_date > to_date(:start_date,:date_format) or :start_date is null) and
-         (start_date < to_date(:end_date,:date_format) or :end_date is null)
-and      e.event_id
-in       (
-         select  cal_item_id
-         from    cal_items
-         where   on_which_calendar = :calendar_id
-         )
-order by $sort_by
-	
-</querytext>
-</fullquery>
-
-
 <fullquery name="calendar::list_display.select_day_items">
 <querytext>
 	select   to_char(start_date, 'HH24') as start_hour,
Index: openacs-4/packages/calendar/tcl/calendar-display-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/tcl/Attic/calendar-display-procs.tcl,v
diff -u -r1.34 -r1.35
--- openacs-4/packages/calendar/tcl/calendar-display-procs.tcl	17 May 2003 10:20:50 -0000	1.34
+++ openacs-4/packages/calendar/tcl/calendar-display-procs.tcl	26 May 2003 09:59:54 -0000	1.35
@@ -14,103 +14,6 @@
 
 namespace eval calendar {
 
-    ad_proc -public one_month_display {
-        {-calendar_id_list ""}
-        {-day_template "<a href=?julian_date=\$julian_date>\$day_number</a>"}
-        {-item_template "<a href=?action=edit&cal_item_id=\$item_id>\$item</a>"}
-        {-item_add_template ""}
-        {-date ""}
-        {-url_stub_callback ""}
-        {-show_calendar_name_p 1}
-        {-prev_month_template ""}
-        {-next_month_template ""}
-    } {
-        Creates a month widget with events for that month
-
-        The url_stub_callback parameter allows a parameterizable URL stub
-        for each calendar_id. If the parameter is non-null, it is considered a proc
-        that can be called on a calendar_id to generate a URL stub.
-    } {
-        if {[empty_string_p $date]} {
-            set date [dt_systime]
-        }
-
-        # 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]]]
-        }
-        
-        set items [ns_set create]
-        
-	
-	db_foreach select_monthly_items {} {
-	    # Calendar name now set in query
-	    # set calendar_name [calendar_get_name $calendar_id]
-	    
-	    # reset url stub
-	    set url_stub ""
-
-	    # In case we need to dispatch to a different URL (ben)
-	    if {![empty_string_p $url_stub_callback]} {
-		# Cache the stuff
-		if {![info exists url_stubs($calendar_id)]} {
-		    set url_stubs($calendar_id) [$url_stub_callback $calendar_id]
-		}
-
-		set url_stub $url_stubs($calendar_id)
-	    }
-	    
-	    set item "$name"
-	    set item "[subst $item_template]"
-	    
-	    if {![dt_no_time_p -start_time $start_time -end_time $end_time]} {
-		set item "<font size=-2><b>$start_time</b></font> $item"
-	    }
-	    
-	    if {$show_calendar_name_p} {
-		append item " <font size=-2>($calendar_name)</font>"
-	    }
-	    
-	    # DRB: This ugly hack was added for dotlrn-events, to give us a way to
-	    # flag event status in red in accordance with the spec.  When calendar
-	    # is rewritten we should come up with a way for objects derived from
-	    # acs-events to render their own name summary and full descriptions.
-	    
-	    if { [string length $status_summary] > 0 } {
-		append item " <font color=\"red\">$status_summary</font> "
-	    }
-	    
-	    append item "<br>"
-	    
-	    ns_set put $items $start_date $item
-	}            
-
-        
-        # Display stuff
-        if {[empty_string_p $item_add_template]} {
-            set day_number_template "<font size=1>$day_template</font>"
-        } else {
-            set day_number_template "<font size=1>$day_template &nbsp; &nbsp; $item_add_template</font>"
-        }
-
-        return [dt_widget_month -calendar_details $items -date $date \
-                -master_bgcolor black \
-                -header_bgcolor lavender \
-                -header_text_color black \
-                -header_text_size "+1" \
-                -day_header_bgcolor lavender \
-                -day_bgcolor white \
-                -today_bgcolor #FFF8DC \
-                -empty_bgcolor lightgrey \
-                -day_text_color black \
-                -prev_next_links_in_title 1 \
-                -prev_month_template $prev_month_template \
-                -next_month_template $next_month_template \
-                -day_number_template $day_number_template]
-    }
-
     ad_proc -public one_week_display {
         {-calendar_id_list ""}
         {-day_template "<a href=?date=\$date>\$day &nbsp; - &nbsp; \$pretty_date</a>"}
@@ -171,7 +74,7 @@
 	    if {[dt_no_time_p -start_time $start_date -end_time $end_date]} {
 		set time_details ""
 	    } else {
-		set time_details "<b>$pretty_start_date - $pretty_end_date</b>:"
+		set time_details "<b>$ansi_start_date - $ansi_end_date</b>:"
 	    }
 	    
 	    set item "$time_details $item_details"
@@ -269,7 +172,7 @@
 	    set item $name
 	    set item_subst [subst $item_template]
 	    
-	    if {[dt_no_time_p -start_time $pretty_start_date -end_time $pretty_end_date]} {
+	    if {[dt_no_time_p -start_time $ansi_start_date -end_time $ansi_end_date]} {
 		# Hack for no-time items
 		set item "$item_subst"
 		if {![empty_string_p $item_details]} {
@@ -278,7 +181,7 @@
 		
 		set ns_set_pos "X"
 	    } else {
-		set item "<b>$pretty_start_date - $pretty_end_date</b>: $item_subst"
+		set item "<b>$ansi_start_date - $ansi_end_date</b>: $item_subst"
 		if {![empty_string_p $item_details]} {
 		    append item " <font size=-1>($item_details)</font>"
 		}
@@ -306,147 +209,4 @@
                 -calendar_details $items -date $date -overlap_p 1]
         
     }
-
-    ad_proc -public list_display {
-        {-date ""}
-        {-start_date ""}
-        {-end_date ""}
-        {-calendar_id_list ""}
-        {-item_template {$item}}
-        {-url_template {?sort_by=$order_by}}
-        {-url_stub_callback ""}
-        {-show_calendar_name_p 1}
-        {-sort_by "item_type"}
-    } {
-        create a list display of items
-    } {
-        # 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]]]
-        }
-
-        # sort by cannot be empty
-        if {[empty_string_p $sort_by]} {
-            set sort_by "item_type"
-        }
-        
-        set date_format "YYYY-MM-DD HH24:MI"
-        set current_date $date
-        set items [ns_set create]
-        
-        # Loop through the calendars
-        foreach calendar_id $calendar_id_list {
-            set calendar_name [calendar_get_name $calendar_id]
-            
-            # In case we need to dispatch to a different URL (ben)
-            if {![empty_string_p $url_stub_callback]} {
-                set url_stub [$url_stub_callback $calendar_id]
-            }
-            
-            db_foreach select_list_items {} {
-                ns_log Notice "BMA-CHECK: test $name"
-                set item "$name"
-                set item [subst $item_template]
-                
-                if {$show_calendar_name_p} {
-                    append item " ($calendar_name)"
-                }
-                
-                ns_set put $items $start_hour [list $pretty_date $pretty_start_date $pretty_end_date $pretty_weekday $item_type $item]
-            }
-            
-        }
-
-        # Now we have the items in a big ns_set
-        # We call the widget maker
-        return [dt_widget_list -order_by $sort_by \
-                -item_template $item_template \
-                -calendar_details $items \
-                -start_date $start_date \
-                -end_date $end_date \
-                -url_template $url_template]
-        
-    }
-
-#      ad_proc -public list_display {
-#          {-date ""}
-#          {-calendar_id_list ""}
-#          {-item_template {$item}}
-#          {-url_stub_callback ""}
-#          {-show_calendar_name_p 1}
-#     } {
-#         Creates a list widget
-#     } {
-#         if {[empty_string_p $date]} {
-#             set date [dt_sysdate]
-#         }
-
-#         set date_format "YYYY-MM-DD HH24:MI"
-#         set current_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]]]
-#         }
-       
-#         set items [ns_set create]
-
-#         # Loop through the calendars
-#         foreach calendar_id $calendar_id_list {
-#             set calendar_name [calendar_get_name $calendar_id]
-
-#             # In case we need to dispatch to a different URL (ben)
-#             if {![empty_string_p $url_stub_callback]} {
-#                 set url_stub [$url_stub_callback $calendar_id]
-#             }
-
-#             db_foreach select_day_items {} {
-#                 # ns_log Notice "bma: one item"
-#                 set item "$pretty_start_date - $pretty_end_date: $name"
-
-#                 if {$show_calendar_name_p} {
-#                     append item " ($calendar_name)"
-#                 }
-
-#                 set item [subst $item_template]
-
-#                 ns_set put $items $start_hour $item
-#             }
-
-#         }
-
-#         set return_html "Items for [util_AnsiDatetoPrettyDate $date]:<p><ul>\n"
-
-#         for {set i 0} {$i <= 23} {incr i} {
-#             if {$i < 10} {
-#                 set index_hour "0$i"
-#             } else {
-#                 set index_hour $i
-#             }
-
-#             while {1} {
-#                 set index [ns_set find $items $index_hour]
-#                 if {$index == -1} {
-#                     break
-#                 }
-
-#                 # ns_log Notice "bma: one item found !!"
-
-#                 append return_html "<li> [ns_set value $items $index]\n"
-#                 ns_set delete $items $index
-#             }
-#             append return_html "<p>"
-#         }
-
-#         append return_html "</ul>"
-
-#         return $return_html
-#     }
-       
-
-
 }
Index: openacs-4/packages/calendar/www/cal-item-delete-confirm.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-delete-confirm.tcl,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/calendar/www/cal-item-delete-confirm.tcl	18 Nov 2002 18:01:11 -0000	1.5
+++ openacs-4/packages/calendar/www/cal-item-delete-confirm.tcl	26 May 2003 10:00:10 -0000	1.6
@@ -21,6 +21,6 @@
 set cal_item(no_time_p) [dt_no_time_p -start_time $cal_item(start_time) -end_time $cal_item(end_time)]
 
 # cal nav
-set cal_nav [dt_widget_calendar_navigation -link_current_view "view" day $cal_item(start_date) "calendar_id="]
+set cal_nav [dt_widget_calendar_navigation "view" day $cal_item(start_date) "calendar_id="]
 
 ad_return_template
Index: openacs-4/packages/calendar/www/cal-item-edit.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/Attic/cal-item-edit.tcl,v
diff -u -r1.16 -r1.17
--- openacs-4/packages/calendar/www/cal-item-edit.tcl	19 Dec 2002 16:27:22 -0000	1.16
+++ openacs-4/packages/calendar/www/cal-item-edit.tcl	26 May 2003 10:00:10 -0000	1.17
@@ -102,7 +102,7 @@
 }
 
 
-set cal_nav [dt_widget_calendar_navigation -link_current_view "view" day $cal_item(start_date) "calendar_id"]
+set cal_nav [dt_widget_calendar_navigation "view" day $cal_item(start_date) "calendar_id"]
 
 ad_return_template
 
Index: openacs-4/packages/calendar/www/cal-item-new.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-new.adp,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/calendar/www/cal-item-new.adp	18 Nov 2002 18:01:11 -0000	1.6
+++ openacs-4/packages/calendar/www/cal-item-new.adp	26 May 2003 10:00:10 -0000	1.7
@@ -8,13 +8,12 @@
   <tr>
     <td valign=top width=150>
       <p>
-      @cal_nav@
+      @cal_nav;noquote@
       <p>
 	<include src="cal-options">	
     </td>	
 
     <td valign=top> 
-    
     <formtemplate id="cal_item"></formtemplate>
 
     </td>
Index: openacs-4/packages/calendar/www/cal-item-new.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-new.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/calendar/www/cal-item-new.tcl	17 May 2003 10:21:14 -0000	1.7
+++ openacs-4/packages/calendar/www/cal-item-new.tcl	26 May 2003 10:00:10 -0000	1.8
@@ -115,6 +115,6 @@
     }
 }
 
-set cal_nav [dt_widget_calendar_navigation -link_current_view "view" day $date "calendar_id=$calendar_id"]
+set cal_nav [dt_widget_calendar_navigation "view" day $date "calendar_id=$calendar_id"]
 
 ad_return_template
Index: openacs-4/packages/calendar/www/cal-item-view.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-view.tcl,v
diff -u -r1.9 -r1.10
--- openacs-4/packages/calendar/www/cal-item-view.tcl	18 Nov 2002 18:01:11 -0000	1.9
+++ openacs-4/packages/calendar/www/cal-item-view.tcl	26 May 2003 10:00:10 -0000	1.10
@@ -49,7 +49,7 @@
 }
 
 # cal nav
-set cal_nav [dt_widget_calendar_navigation -link_current_view "view" day $cal_item(start_date) "calendar_id="]
+set cal_nav [dt_widget_calendar_navigation "view" day $cal_item(start_date) "calendar_id="]
 
 ad_return_template 
 
Index: openacs-4/packages/calendar/www/cal-item.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/Attic/cal-item.tcl,v
diff -u -r1.13 -r1.14
--- openacs-4/packages/calendar/www/cal-item.tcl	13 Sep 2002 10:43:59 -0000	1.13
+++ openacs-4/packages/calendar/www/cal-item.tcl	26 May 2003 10:00:10 -0000	1.14
@@ -115,8 +115,6 @@
     
     set cal_item_types [calendar::get_item_types -calendar_id $force_calendar_id]    
     # forced error checking
-    set name [ad_quotehtml $name]
-    set description [ad_quotehtml $description]
 
 } elseif { [string equal $action "add"] } {
     # get calendar names that user has calendar
Index: openacs-4/packages/calendar/www/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/index.tcl,v
diff -u -r1.10 -r1.11
--- openacs-4/packages/calendar/www/index.tcl	30 Nov 2002 17:28:09 -0000	1.10
+++ openacs-4/packages/calendar/www/index.tcl	26 May 2003 10:00:10 -0000	1.11
@@ -26,7 +26,7 @@
 
 if {![db_string private_calendar_count_qry {}]} {
     # Create a personal calendar for the user
-    calendar::new -owner_id $user_id -private_p "t" -calendar_name "Personal" -package_id $package_id
+#    calendar::new -owner_id $user_id -private_p "t" -calendar_name "Personal" -package_id $package_id
 }
 
 ad_returnredirect "view"    
Index: openacs-4/packages/calendar/www/view-list-display-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/Attic/view-list-display-postgresql.xql,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-list-display-postgresql.xql	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+
+<queryset>
+   <rdbms><type>postgresql</type><version>7.1</version></rdbms>
+
+<fullquery name="select_list_items">
+<querytext>
+	select   to_char(start_date, 'HH24') as start_hour,
+         to_char(start_date, 'YYYY-MM-DD') as pretty_start_date,
+         to_char(start_date, 'HH24:MI:SS') as start_time,
+         to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_start_date,
+         to_char(end_date, 'YYYY-MM-DD') as pretty_end_date,
+         to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_end_date,
+         coalesce(e.name, a.name) as name,
+         e.event_id as item_id,
+         (select type from cal_item_types where item_type_id= cal_items.item_type_id) as item_type,
+         to_char(start_date, 'Day') as pretty_weekday
+from     acs_activities a,
+         acs_events e,
+         timespans s,
+         time_intervals t,
+         cal_items
+where    e.timespan_id = s.timespan_id
+and      s.interval_id = t.interval_id
+and      e.activity_id = a.activity_id
+and      cal_items.cal_item_id= e.event_id
+and      (start_date > to_date(:start_date,:date_format) or :start_date is null) and
+         (start_date < to_date(:end_date,:date_format) or :end_date is null)
+and      e.event_id
+in       (
+         select  cal_item_id
+         from    cal_items
+         where   on_which_calendar = :calendar_id
+         )
+order by $sort_by
+	
+</querytext>
+</fullquery>
+
+
+ 
+</queryset>
Index: openacs-4/packages/calendar/www/view-list-display.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-list-display.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-list-display.adp	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1,14 @@
+<b>@title@</b><p>
+<table class="table-display" border=0 cellspacing=0 cellpadding=2>
+    <tr class="table-header"><th>Day of Week</th><th><a href="@start_date_url@">Date</a></th><th>Start Time</th><th>End Time</th>
+
+<if @real_sort_by@ ne "item_type">
+  <th><a href=@item_type_url@>Type</a></th>
+</if>
+
+<th>Title</th></tr>
+
+
+@return_html;noquote@
+</table>
+
Index: openacs-4/packages/calendar/www/view-list-display.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-list-display.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-list-display.tcl	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1,92 @@
+# 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]]]
+}
+
+# sort by cannot be empty
+if {[empty_string_p $sort_by]} {
+    set sort_by "item_type"
+}
+
+set date_format "YYYY-MM-DD HH24:MI"
+
+# The title
+if {[empty_string_p $start_date] && [empty_string_p $end_date]} {
+    #This used to be All Items but that was just taking up space and not adding value so now we assume All Items and only give a title if its something else. - Caroline@meekshome.com
+    set title ""
+}
+
+if {[empty_string_p $start_date] && ![empty_string_p $end_date]} {
+    set title "Items until [util_AnsiDatetoPrettyDate $end_date]"
+}
+
+if {![empty_string_p $start_date] && [empty_string_p $end_date]} {
+    set title "Items starting [util_AnsiDatetoPrettyDate $start_date]"
+}
+
+if {![empty_string_p $start_date] && ![empty_string_p $end_date]} {
+    set title "Items from [util_AnsiDatetoPrettyDate $start_date] to [util_AnsiDatetoPrettyDate $end_date]"
+}
+
+set return_html ""
+
+# Prepare the templates
+set url_template "view?view=list&sort_by=\$sort_by"
+set real_sort_by $sort_by
+set sort_by "item_type"
+set item_type_url [subst $url_template]
+set sort_by "start_date"
+set start_date_url [subst $url_template]
+
+# initialize the item_type so we can do intermediate titles
+set old_item_type ""
+
+set flip 0
+
+# Loop through the events, and add them
+foreach calendar_id $calendar_id_list {
+    set calendar_name [calendar_get_name $calendar_id]
+    
+    db_foreach select_list_items {} {
+	set item_details "<a href=\"cal-item-view?cal_item_id=$item_id\">$name</a> ($calendar_name)"
+	# Adjust the display of no-time items
+	if {[dt_no_time_p -start_time $pretty_start_date -end_time $pretty_end_date]} {
+	    set start_time "--"
+	    set end_time "--"
+	}
+	
+	# Do we need a title?
+	if {$real_sort_by == "item_type" && $item_type != "$old_item_type"} {
+	    if {[empty_string_p $item_type]} {
+		set item_type_for_title "(No Item Type)"
+	    } else {
+		set item_type_for_title $item_type
+	    }
+	    append return_html "<tr class=\"table-title\"><td colspan=5><b>$item_type_for_title</b></td></tr>\n"
+	    set flip 0
+	}
+	
+	set old_item_type $item_type
+	
+	if {[expr $flip % 2] == 0} {
+	    set z_class odd
+	} else {
+	    set z_class even
+	}
+	
+	append return_html "
+        <tr class=$z_class><td>$pretty_weekday</td><td>$pretty_start_date</td><td>$pretty_start_date</td><td>$pretty_end_date</td>"
+	
+	if {$real_sort_by != "item_type"} {
+	    append return_html "<td>$item_type</td>"
+	}
+	
+	append return_html "<td>$item_details</td></tr>\n"
+	incr flip
+    }
+}	
+
+
+
Index: openacs-4/packages/calendar/www/view-month-display-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/Attic/view-month-display-postgresql.xql,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-month-display-postgresql.xql	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+
+<queryset>
+   <rdbms><type>postgresql</type><version>7.1</version></rdbms>
+	
+<fullquery name="select_monthly_items">
+      <querytext>
+	select   to_char(start_date, 'J') as start_date,
+                 to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_start_date,
+                 to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_end_date,
+	         coalesce(e.name, a.name) as name,
+	         coalesce(e.description, a.description) as description,
+                 coalesce(e.status_summary, a.status_summary) as status_summary,
+	         e.event_id as item_id,
+		 (select on_which_calendar from cal_items where cal_item_id = e.event_id) as calendar_id,
+		 (select calendar_name from calendars 
+		 where calendar_id = (select on_which_calendar from cal_items where cal_item_id= e.event_id))
+		 as calendar_name
+	from     acs_activities a,
+	         acs_events e,
+	         timespans s,
+	         time_intervals t
+	where    e.timespan_id = s.timespan_id
+	and      s.interval_id = t.interval_id
+	and      e.activity_id = a.activity_id
+	and      e.event_id
+	in       (
+	         select  cal_item_id
+	         from    cal_items
+	         where   on_which_calendar in ([join $calendar_id_list ","])
+         )
+         order by start_date,end_date	
+
+</querytext>
+</fullquery>
+
+
+ 
+</queryset>
+
Index: openacs-4/packages/calendar/www/view-month-display.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-month-display.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-month-display.adp	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1 @@
+@foobar;noquote@
Index: openacs-4/packages/calendar/www/view-month-display.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-month-display.tcl,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-month-display.tcl	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1,89 @@
+#        Creates a month widget with events for that month
+#
+#        The url_stub_callback parameter allows a parameterizable URL stub
+#        for each calendar_id. If the parameter is non-null, it is considered a proc
+#        that can be called on a calendar_id to generate a URL stub.
+
+
+if {![info exists date] || [empty_string_p $date]} {
+    set date [dt_systime]
+}
+
+if {![info exists day_template] || [empty_string_p $day_template]} {
+    set day_template "<a href=?julian_date=\$julian_date>\$day_number</a>"
+}
+
+if {![info exists item_template] || [empty_string_p $item_template]} {
+	    set item_template "<a href=?action=edit&cal_item_id=\$item_id>\$item</a>"
+}
+
+if {![info exists show_calendar_name_p] || [empty_string_p $show_calendar_name_p]} {
+    set show_calendar_name_p 1
+}
+# 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 {![info exists calendar_id_list] || [empty_string_p $calendar_id_list]} {
+    set calendar_id_list [list [calendar_have_private_p -return_id 1 [ad_get_user_id]]]
+}
+        
+set items [ns_set create]
+db_foreach select_monthly_items {} {
+    # Calendar name now set in query
+    # set calendar_name [calendar_get_name $calendar_id]
+    
+    # reset url stub
+    set url_stub ""
+    
+    # In case we need to dispatch to a different URL (ben)
+    if {[info exists url_stub_callback] && ![empty_string_p $url_stub_callback]} {
+	# Cache the stuff
+	if {![info exists url_stubs($calendar_id)]} {
+	    set url_stubs($calendar_id) [$url_stub_callback $calendar_id]
+	}
+	
+	set url_stub $url_stubs($calendar_id)
+    }
+    
+    set item "$name"
+    set item "[subst $item_template]"
+    
+    if {![dt_no_time_p -start_time $ansi_start_date -end_time $ansi_end_date]} {
+	set item "<font size=-2><b>$ansi_start_date</b></font> $item"
+    }
+    
+    if {$show_calendar_name_p} {
+	append item " <font size=-2>($calendar_name)</font>"
+    }
+    
+    # DRB: This ugly hack was added for dotlrn-events, to give us a way to
+    # flag event status in red in accordance with the spec.  When calendar
+    # is rewritten we should come up with a way for objects derived from
+    # acs-events to render their own name summary and full descriptions.
+    
+    if { [string length $status_summary] > 0 } {
+	append item " <font color=\"red\">$status_summary</font> "
+	    }
+    
+    append item "<br>"
+    
+    ns_set put $items $start_date $item
+}
+    
+    
+# Display stuff
+set day_number_template "<font size=1>$day_template</font>"
+
+set foobar [dt_widget_month -calendar_details $items -date $date \
+                -master_bgcolor black \
+		-header_bgcolor lavender \
+		-header_text_color black \
+		-header_text_size "+1" \
+		-day_header_bgcolor lavender \
+		-day_bgcolor white \
+		-today_bgcolor #FFF8DC \
+		-empty_bgcolor lightgrey \
+		-day_text_color black \
+		-prev_next_links_in_title 1 \
+		-day_number_template $day_number_template]
+
Index: openacs-4/packages/calendar/www/view-one-day-display-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/Attic/view-one-day-display-postgresql.xql,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-one-day-display-postgresql.xql	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+
+<queryset>
+   <rdbms><type>postgresql</type><version>7.1</version></rdbms>
+	
+<fullquery name="select_day_items">
+<querytext>
+	select   to_char(start_date, 'HH24') as start_hour,
+         to_char(start_date, 'HH24:MI') as start_date,
+         to_char(end_date, 'HH24:MI') as end_date,
+         to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_start_date,
+         to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_end_date,
+         coalesce(e.name, a.name) as name,
+         coalesce(e.status_summary, a.status_summary) as status_summary,
+         e.event_id as item_id,
+         (select type from cal_item_types where item_type_id= cal_items.item_type_id) as item_type,
+	 on_which_calendar as calendar_id,
+	 (select calendar_name from calendars 
+	 where calendar_id = on_which_calendar)
+	 as calendar_name
+from     acs_activities a,
+         acs_events e,
+         timespans s,
+         time_intervals t,
+         cal_items
+where    e.timespan_id = s.timespan_id
+and      s.interval_id = t.interval_id
+and      e.activity_id = a.activity_id
+and      start_date between
+         to_date(:current_date,:date_format) and
+         to_date(:current_date,:date_format) + cast('23 hours 59 minutes 59 seconds' as interval)
+and      cal_items.cal_item_id= e.event_id
+and      e.event_id
+in       (
+         select  cal_item_id
+         from    cal_items
+         where   on_which_calendar in ([join $calendar_id_list ","])
+         )
+	
+</querytext>
+</fullquery>
+
+</queryset>
+
Index: openacs-4/packages/calendar/www/view-one-day-display.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-one-day-display.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-one-day-display.adp	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1 @@
+@foobar;noquote@
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
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-one-day-display.tcl	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1,88 @@
+set widget_start_hour $start_hour
+set widget_end_hour $end_hour
+
+set date_format "YYYY-MM-DD HH24:MI"
+
+if {[empty_string_p $date]} {
+    set date [dt_sysdate]
+}
+
+set current_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]]]
+}
+
+set items [ns_set create]
+
+# Loop through the calendars
+db_foreach select_day_items {} {
+    # Not needed anymore
+    # set calendar_name [calendar_get_name $calendar_id]
+    
+    # In case we need to dispatch to a different URL (ben)
+    if {![empty_string_p $url_stub_callback]} {
+	# Cache the stuff
+	if {![info exists url_stubs($calendar_id)]} {
+	    set url_stubs($calendar_id) [$url_stub_callback $calendar_id]
+		}
+	
+	set url_stub $url_stubs($calendar_id)
+    }
+    
+    set item_details ""
+    
+    if {$show_calendar_name_p} {
+	append item_details $calendar_name
+    }
+    
+    if {![empty_string_p $item_type]} {
+	if {![empty_string_p $item_details]} {
+	    append item_details " - "
+	}
+	
+	append item_details "$item_type"
+    }
+    
+    set item $name
+    set item_subst [subst $item_template]
+    
+    if {[dt_no_time_p -start_time $ansi_start_date -end_time $ansi_end_date]} {
+	# Hack for no-time items
+	set item "$item_subst"
+	if {![empty_string_p $item_details]} {
+	    append item " <font size=-1>($item_details)</font>"
+	}
+	
+		set ns_set_pos "X"
+    } else {
+	set item "<b>$ansi_start_date - $ansi_end_date</b>: $item_subst"
+	if {![empty_string_p $item_details]} {
+	    append item " <font size=-1>($item_details)</font>"
+	}
+	set ns_set_pos $start_hour
+    }
+    
+    if { [string length $status_summary] > 0 } {
+	append item " <font color=\"red\">$status_summary</font> "
+    }
+    
+    # ns_log Notice "bma-calendar: adding $item at $start_hour"
+    ns_set put $items $ns_set_pos [list $start_date $end_date $item]
+}
+
+set hour {$display_hour}
+set start_time {$hour}
+set end_time {$next_hour}
+
+set hour_template [subst $hour_template]
+
+set foobar [dt_widget_day -hour_template $hour_template \
+                -prev_nav_template $prev_nav_template \
+                -next_nav_template $next_nav_template \
+                -start_hour $widget_start_hour -end_hour $widget_end_hour \
+                -calendar_details $items -date $date -overlap_p 1]
+
Index: openacs-4/packages/calendar/www/view-week-display-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-week-display-postgresql.xql,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-week-display-postgresql.xql	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+
+<queryset>
+   <rdbms><type>postgresql</type><version>7.1</version></rdbms>
+	
+<fullquery name="select_weekday_info">
+<querytext>
+        select   to_char(to_date(:current_date, 'yyyy-mm-dd'), 'D') 
+        as       day_of_the_week,
+        to_char(next_day(to_date(:current_date, 'yyyy-mm-dd')- '1 week'::interval, 'Sunday'), 'YYYY-MM-DD')
+        as       sunday_of_the_week,
+        to_char(next_day(to_date(:current_date, 'yyyy-mm-dd'), 'Saturday'), 'YYYY-MM-DD')
+        as       saturday_of_the_week
+        from     dual
+</querytext>
+</fullquery>
+
+<fullquery name="select_week_items">
+<querytext>
+select   to_char(start_date, 'J') as start_date_julian,
+         to_char(start_date,'HH24:MI') as start_date,
+         to_char(end_date,'HH24:MI') as end_date,
+         to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_start_date,
+         to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as ansi_end_date,
+         coalesce(e.name, a.name) as name,
+         coalesce(e.status_summary, a.status_summary) as status_summary,
+         e.event_id as item_id,
+         (select type from cal_item_types where item_type_id= cal_items.item_type_id) as item_type,
+	 (select on_which_calendar from cal_items where cal_item_id = e.event_id) as calendar_id,
+	 (select calendar_name from calendars 
+	 where calendar_id = (select on_which_calendar from cal_items where cal_item_id= e.event_id))
+	 as calendar_name
+from     acs_activities a,
+         acs_events e,
+         timespans s,
+         time_intervals t,
+         cal_items
+where    e.timespan_id = s.timespan_id
+and      s.interval_id = t.interval_id
+and      e.activity_id = a.activity_id
+and     e.event_id = cal_items.cal_item_id       
+and      start_date between
+         to_date(:sunday_of_the_week,'YYYY-MM-DD') and
+         to_date(:saturday_of_the_week,'YYYY-MM-DD')
+and      e.event_id
+in       (
+         select  cal_item_id
+         from    cal_items
+         where   on_which_calendar in ([join $calendar_id_list ","])
+         )
+</querytext>
+</fullquery>
+
+
+</queryset>
+
Index: openacs-4/packages/calendar/www/view-week-display.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-week-display.adp,v
diff -u
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-week-display.adp	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1 @@
+@foobar;noquote@
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
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/calendar/www/view-week-display.tcl	26 May 2003 10:00:10 -0000	1.1
@@ -0,0 +1,64 @@
+        if {[empty_string_p $date]} {
+            set date [dt_sysdate]
+        }
+
+        set current_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]]]
+        }
+        
+        set items [ns_set create]
+
+        # This isn't going to be pretty. First we make it work, though. (ben)
+
+        db_1row select_weekday_info {}
+
+        # Loop through the calendars
+	db_foreach select_week_items {} {
+	    ns_log Notice "ONE WEEK ITEM"
+
+	    # now selected from the query
+	    # set calendar_name [calendar_get_name $calendar_id]
+	    
+	    # In case we need to dispatch to a different URL (ben)
+	    if {![empty_string_p $url_stub_callback]} {
+		# Cache the stuff
+		if {![info exists url_stubs($calendar_id)]} {
+		    set url_stubs($calendar_id) [$url_stub_callback $calendar_id]
+		}
+
+		set url_stub $url_stubs($calendar_id)
+	    }
+	    
+	    set item "$name"
+	    set item_details "[subst $item_template]"
+	    
+	    # Add time details
+	    if {[dt_no_time_p -start_time $start_date -end_time $end_date]} {
+		set time_details ""
+	    } else {
+		set time_details "<b>$ansi_start_date - $ansi_end_date</b>:"
+	    }
+	    
+	    set item "$time_details $item_details"
+	    
+	    if {$show_calendar_name_p} {
+		append item "<font size=-1>($calendar_name)</font><br>"
+	    }
+	    
+	    if { [string length $status_summary] > 0 } {
+		append item " <font color=\"red\">$status_summary</font> "
+	    }
+	    
+	    ns_set put $items $start_date_julian $item
+        }
+
+        # display stuff
+        
+set day_template "<font size=-1><b>\$day</b> - <a href=\"view?date=\[ns_urlencode \$date]&view=day\">\$pretty_date</a> &nbsp; &nbsp; <a href=\"cal-item-new?date=\$date&start_time=&end_time=\">([_ calendar.Add_Item])</a></font>"
+
+set foobar [dt_widget_week -calendar_details $items -date $date -day_template $day_template ]
Index: openacs-4/packages/calendar/www/view.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view.adp,v
diff -u -r1.8 -r1.9
--- openacs-4/packages/calendar/www/view.adp	22 May 2003 14:25:22 -0000	1.8
+++ openacs-4/packages/calendar/www/view.adp	26 May 2003 10:00:10 -0000	1.9
@@ -14,8 +14,42 @@
 
     <td valign=top> 
     
-    @cal_stuff@
+<if @view@ eq "list">
+<include src="view-list-display" 
+start_date=@start_date@ 
+end_date=@end_date@ 
+date=@date@ 
+calendar_id_list=@calendar_list@ 
+sort_by=@sort_by@> 
+</if>
 
+
+<if @view@ eq "day">
+<include src="view-one-day-display" 
+prev_nav_template="@previous_link@"
+next_nav_template="@next_link@"
+item_template="@item_template@"
+hour_template="@hour_template@"
+date="@date@" start_hour=7 end_hour=22
+calendar_id_list="@calendar_list@">
+</if>
+
+<if @view@ eq "week">
+<include src="view-week-display" 
+item_template="@item_template@"
+date="@date@"
+calendar_id_list="@calendar_list@"
+>
+</if>
+
+
+<if @view@ eq "month">
+<include src="view-month-display"
+date=@date@
+calendar_id_list= @calendar_list@
+prev_month_template=@previous_link@
+next_month_template=@next_link@>
+</if>
     </td>
   </tr>
 </table>
Index: openacs-4/packages/calendar/www/view.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view.tcl,v
diff -u -r1.10 -r1.11
--- openacs-4/packages/calendar/www/view.tcl	17 May 2003 10:21:14 -0000	1.10
+++ openacs-4/packages/calendar/www/view.tcl	26 May 2003 10:00:10 -0000	1.11
@@ -60,15 +60,6 @@
 	    set next_link "<a href=\"view?view=$view&date=\[ns_urlencode \$tomorrow]\">&gt;</a>"
 	}
     }
-
-    set cal_stuff [calendar::one_day_display \
-	    -prev_nav_template $previous_link \
-	    -next_nav_template $next_link \
-            -item_template $item_template \
-            -hour_template $hour_template \
-            -date $date -start_hour 7 -end_hour 22 \
-            -calendar_id_list $calendar_list]
-
 }
 
 if {$view == "week"} {
@@ -94,15 +85,6 @@
 	    set next_link "<a href=\"view?date=\[ns_urlencode \$next_week]&view=week\">&gt;</a>"
 	}
     }
-
-    set cal_stuff [calendar::one_week_display \
-            -item_template $item_template \
-            -day_template "<font size=-1><b>\$day</b> - <a href=\"view?date=\[ns_urlencode \$date]&view=day\">\$pretty_date</a> &nbsp; &nbsp; <a href=\"cal-item-new?date=\$date&start_time=&end_time=\">([_ calendar.Add_Item])</a></font>" \
-            -date $date \
-            -calendar_id_list $calendar_list \
-            -prev_week_template $previous_link \
-            -next_week_template $next_link]
-
 }
 
 if {$view == "month"} {
@@ -129,14 +111,6 @@
 	}
     }
 
-    set cal_stuff [calendar::one_month_display \
-            -item_template "<font size=-2>$item_template</font>" \
-            -day_template "<font size=-1><b><a href=view?julian_date=\$julian_date&view=day>\$day_number</a></b></font>" \
-            -date $date \
-            -item_add_template "<font size=-3>$item_add_template</font>" \
-            -calendar_id_list $calendar_list \
-	    -prev_month_template $previous_link \
-            -next_month_template $next_link]
 }
 
 if {$view == "list"} {
@@ -145,15 +119,7 @@
     set ansi_year [lindex $ansi_list 0]
     set ansi_month [string trimleft [lindex $ansi_list 1] "0"]
     set ansi_day [string trimleft [lindex $ansi_list 2] "0"]
-    set end_date [dt_julian_to_ansi [expr [dt_ansi_to_julian $ansi_year $ansi_month $ansi_day ] + 1]]
-    set cal_stuff [calendar::list_display \
-            -item_template $item_template \
-            -start_date $start_date \
-            -end_date $end_date \
-            -date $date \
-            -calendar_id_list $calendar_list \
-            -sort_by $sort_by \
-            -url_template "view?view=list&sort_by=\$order_by"]
+    set end_date [dt_julian_to_ansi [expr [dt_ansi_to_julian $ansi_year $ansi_month $ansi_day ] + 31]]
 }
 
 set cal_nav [dt_widget_calendar_navigation "view" $view $date "calendar_list="]