Index: openacs-4/packages/calendar-includelet/lib/calendar-full-includelet.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/calendar-includelet/lib/calendar-full-includelet.tcl,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/calendar-includelet/lib/calendar-full-includelet.tcl 1 Sep 2008 00:51:02 -0000 1.3
+++ openacs-4/packages/calendar-includelet/lib/calendar-full-includelet.tcl 8 Sep 2008 20:13:37 -0000 1.4
@@ -9,6 +9,8 @@
{date ""}
{period_days:optional}
{julian_date ""}
+ {export ""}
+ {sort_by ""}
} -properties {
} -validate {
@@ -24,6 +26,11 @@
# Note that the variable calendar_id is a list of all calendar_id parameter values set for
# this layout element.
+set private_calendar_id [calendar_includelet::get_private_calendar_id \
+ -user_id [ad_conn user_id] \
+ -package_id $package_id]
+lappend calendar_id $private_calendar_id
+
if {[empty_string_p $view]} {
set view $default_view
}
@@ -32,6 +39,15 @@
set base_url [ad_conn package_url]
set calendar_url [site_node::get_url_from_object_id -object_id $package_id]
+set notification_chunk [notification::display::request_widget \
+ -type calendar_notif \
+ -object_id $package_id \
+ -pretty_name [site_node::get_element \
+ -node_id [site_node::get_node_id_from_object_id \
+ -object_id $package_id] \
+ -element instance_name] \
+ -url $calendar_url]
+
if {$scoped_p == "t"} {
set show_calendar_name_p 1
} else {
@@ -45,130 +61,32 @@
set period_days [parameter::get -package_id $package_id -parameter ListView_DefaultPeriodDays -default 31]
}
-if {[llength $calendar_id] > 1} {
- set force_calendar_id [calendar::have_private_p -return_id 1 -calendar_id_list $calendar_id -party_id [ad_conn user_id]]
-} else {
- set force_calendar_id [lindex $calendar_id 0]
-}
-
# permissions
-set create_p [ad_permission_p $force_calendar_id cal_item_create]
-set edit_p [ad_permission_p $force_calendar_id cal_item_edit]
-set admin_p [ad_permission_p $force_calendar_id calendar_admin]
+set admin_p [permission::permission_p -object_id $package_id -privilege admin]
-
# set up some vars
if {[empty_string_p $date]} {
- if {[empty_string_p $julian_date]} {
- set date [dt_sysdate]
- } else {
- set date [db_string select_from_julian "select to_date(:julian_date ,'J') from dual"]
- }
+ set date [dt_sysdate]
}
# global variables
-set current_date $date
set date_format "YYYY-MM-DD HH24:MI"
set return_url "[ns_conn url]?[ns_conn query]"
-set encoded_return_url [ns_urlencode $return_url]
-set add_item_url [export_vars -base ${calendar_url}cal-item-new {{date $current_date} {time_p 1} return_url}]
+set add_item_url [export_vars -base ${calendar_url}cal-item-new {{date $date} {time_p 1} return_url}]
-set item_template "\[ad_quotehtml \$item\]"
-
-if {$create_p} {
- set hour_template "\$localized_day_current_hour"
- set item_add_template "+"
-} else {
- set hour_template "\$localized_day_current_hour"
- set item_add_template ""
+multirow create calendars calendar_name calendar_id calendar_admin_p url
+foreach calendar $calendar_id {
+ multirow append calendars [calendar::name $calendar] $calendar \
+ [permission::permission_p -object_id $calendar -privilege admin] \
+ [export_vars -base ${calendar_url}calendar-item-types {calendar_id}]
}
-set url_stub_callback "calendar_portlet_display::get_url_stub"
-
-if {$view == "day"} {
- 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 {[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"} {
- if {[catch {set last_w [clock format [clock scan "1 week ago" -base [clock scan $date]] -format "%Y-%m-%d"]}]} {
- set previous_link ""
- } else {
- if {[catch {clock scan $last_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 ""
- }
- }
-
- set prev_week_template ""
- set next_week_template ""
-}
-
-
-if {$view == "month"} {
- if {[catch {set prev_m [clock format [clock scan "1 month ago" -base [clock scan $date]] -format "%Y-%m-%d"]}]} {
- set prev_month_template ""
- } else {
- if {[catch {clock scan $prev_m}]} {
- set prev_month_template ""
- } else {
- set prev_month_template ""
- }
- }
-
- if {[catch {set next_m [clock format [clock scan "1 month" -base [clock scan $date]] -format "%Y-%m-%d"]}]} {
- set next_month_template ""
- } else {
- if {[catch {clock scan $next_m}]} {
- set next_month_template ""
- } else {
- set next_month_template ""
- }
- }
-}
-
-
-if {$view == "list"} {
- set sort_by [ns_queryget sort_by]
-
-
+if {$view eq "list"} {
set start_date [ns_fmttime [expr [ns_time]] "%Y-%m-%d 00:00"]
set end_date [ns_fmttime [expr {[ns_time] + 60*60*24*$period_days}] "%Y-%m-%d 00:00"]
-
- set url_template "?view=list&sort_by=\$order_by&page_num=$page_num"
}
-set export [ns_queryget export]
-
if { [lsearch [list csv vcalendar] $export] != -1 } {
set user_id [ad_conn user_id]
set package_id [ad_conn package_id]