Index: openacs-4/packages/calendar/www/view.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view.tcl,v
diff -u -r1.11 -r1.12
--- openacs-4/packages/calendar/www/view.tcl 26 May 2003 10:00:10 -0000 1.11
+++ openacs-4/packages/calendar/www/view.tcl 21 Jul 2003 19:21:36 -0000 1.12
@@ -1,8 +1,8 @@
-
ad_page_contract {
- Viewing Calendar Stuff
+ Viewing Calendar Information. Currently offers list, day, week, month view.
+ @author Dirk Gomez (openacs@dirkgomez.de)
@author Ben Adida (ben@openforce.net)
@creation-date May 29, 2002
@cvs-id $Id$
@@ -12,6 +12,8 @@
{julian_date ""}
{calendar_list:multiple ""}
{sort_by ""}
+ {start_date ""}
+ {period_days:integer "31"}
} -validate {
valid_date -requires { date } {
if {![string equal $date ""]} {
@@ -22,106 +24,24 @@
}
}
+
+
set package_id [ad_conn package_id]
set user_id [ad_conn user_id]
set calendar_list [calendar::adjust_calendar_list -calendar_list $calendar_list -package_id $package_id -user_id $user_id]
set date [calendar::adjust_date -date $date -julian_date $julian_date]
-# Calendar ID list
-
-# Set up some template
-set item_template "\$item"
-set hour_template "\$hour"
-set item_add_template ""
-
-
-# Depending on the view, make a different widget
-if {$view == "day"} {
-
- # Check that the previous and next days are in the tcl boundaries
- # so that the calendar widget doesn't bomb when it creates the next/prev links
- if {[catch {set yest [clock format [clock scan "1 day ago" -base [clock scan $date]] -format "%Y-%m-%d"]}]} {
- set previous_link ""
- } else {
- if {[catch {clock scan $yest}]} {
- set previous_link ""
- } else {
- set previous_link "<"
- }
+if {$view == "list"} {
+ if {[empty_string_p $start_date]} {
+ set start_date $date
}
- if {[catch {set tomor [clock format [clock scan "1 day" -base [clock scan $date]] -format "%Y-%m-%d"]}]} {
- set next_link ""
- } else {
- if {[catch {clock scan $tomor}]} {
- set next_link ""
- } else {
- set next_link ">"
- }
- }
-}
-
-if {$view == "week"} {
-
- # Check that the previous and next weeks are in the tcl boundaries
- # so that the calendar widget doesn't bomb when it creates the next/prev links
- if {[catch {set prev_w [clock format [clock scan "1 week ago" -base [clock scan $date]] -format "%Y-%m-%d"]}]} {
- set previous_link ""
- } else {
- if {[catch {clock scan $prev_w}]} {
- set previous_link ""
- } else {
- set previous_link "<"
- }
- }
-
- if {[catch {set next_w [clock format [clock scan "1 week" -base [clock scan $date]] -format "%Y-%m-%d"]}]} {
- set next_link ""
- } else {
- if {[catch {clock scan $next_w}]} {
- set next_link ""
- } else {
- set next_link ">"
- }
- }
-}
-
-if {$view == "month"} {
-
- # Check that the previous and next months are in the tcl boundaries
- # so that the calendar widget doesn't bomb when it creates the next/prev links
- if {[catch {set prev_m [clock format [clock scan "1 month ago" -base [clock scan $date]] -format "%Y-%m-%d"]}]} {
- set previous_link ""
- } else {
- if {[catch {clock scan $prev_m}]} {
- set previous_link ""
- } else {
- set previous_link "<"
- }
- }
-
- if {[catch {set next_m [clock format [clock scan "1 month" -base [clock scan $date]] -format "%Y-%m-%d"]}]} {
- set next_link ""
- } else {
- if {[catch {clock scan $next_m}]} {
- set next_link ""
- } else {
- set next_link ">"
- }
- }
-
-}
-
-if {$view == "list"} {
- set start_date $date
- set ansi_list [split $date "- "]
+ set ansi_list [split $start_date "- "]
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 ] + 31]]
+ set end_date [dt_julian_to_ansi [expr [dt_ansi_to_julian $ansi_year $ansi_month $ansi_day ] + $period_days]]
}
-set cal_nav [dt_widget_calendar_navigation "view" $view $date "calendar_list="]
-
ad_return_template