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 -N -r1.26 -r1.26.2.1
--- openacs-4/packages/calendar/www/cal-item-new.tcl 13 Jan 2005 13:56:28 -0000 1.26
+++ openacs-4/packages/calendar/www/cal-item-new.tcl 19 Jun 2005 07:49:35 -0000 1.26.2.1
@@ -15,6 +15,7 @@
{start_time ""}
{end_time ""}
{view "month"}
+ {return_url ""}
}
auth::require_login
@@ -38,8 +39,9 @@
from cal_items
where cal_item_id = :cal_item_id
} -default ""]
+} else {
+ set calendar_id [lindex [lindex $calendar_options 0] 1]
}
-
# TODO: Move into ad_form
if { [exists_and_not_null cal_item_id] } {
set page_title "One calendar item"
@@ -54,17 +56,14 @@
{title:text(text)
{label "[_ calendar.Title_1]"}
- {html {size 60} maxlength 255}
+ {html {size 45} maxlength 255}
}
-
- {date:text(text)
+ {return_url:text(hidden)}
+ {date:date
{label "[_ calendar.Date_1]"}
- {html {id sel1}}
- {after_html { \[y-m-d \]
- }}
-
- }
-
+ {format "Month DD YYYY"}
+ {html {id date} }
+ {after_html {} } }
{time_p:text(radio)
{label " "}
{html {onClick "javascript:TimePChanged(this);"}}
@@ -84,7 +83,7 @@
{description:text(textarea),optional
{label "[_ calendar.Description]"}
- {html {cols 60 rows 3 wrap soft} maxlength 255}
+ {html {cols 45 rows 10 wrap soft} maxlength 255}
}
{calendar_id:integer(radio)
{label "[_ calendar.Sharing]"}
@@ -156,6 +155,9 @@
{title {[string length $title] <= 4000}
"Title is too long"
}
+ {description {[string equal [set msg [ad_html_security_check $description]] ""]}
+ $msg
+ }
} -new_request {
# Seamlessly create a private calendar if the user doesn't have one
if { ![calendar::have_private_p -party_id $user_id] } {
@@ -177,11 +179,13 @@
set start_time "{} {} {} 0 0 {} {HH24:MI}"
set end_time "{} {} {} 0 0 {} {HH24:MI}"
}
+ # set the calendar_id before setting item_types form element (see top of script) DAVEB
set calendar_id [lindex [lindex $calendar_options 0] 1]
} -edit_request {
calendar::item::get -cal_item_id $cal_item_id -array cal_item
+
permission::require_write_permission -object_id $cal_item_id -creation_user $cal_item(creation_user)
set cal_item_id $cal_item(cal_item_id)
@@ -209,23 +213,27 @@
}
# To support green calendar
# set date [template::util::date::from_ansi $ansi_start_date]
- set date [lindex $ansi_start_date 0]
+ # set date [lindex $ansi_start_date 0]
+ set date [calendar::from_sql_datetime -sql_date $ansi_start_date -format "YYY-MM-DD"]
set start_time [template::util::date::from_ansi $ansi_start_date [lc_get formbuilder_time_format]]
set end_time [template::util::date::from_ansi $ansi_end_date [lc_get formbuilder_time_format]]
} -new_data {
# To support green calendar
- set date [split $date "-"]
- lappend date ""
- lappend date ""
- lappend date ""
- lappend date "YYYY MM DD"
+ # set date [split $date "-"]
+ # lappend date ""
+ # lappend date ""
+ # lappend date ""
+ # lappend date "YYYY MM DD"
+ # set date [calendar::to_sql_datetime -date $date -time ""]
+ set date "[template::util::date::get_property year $date] [template::util::date::get_property month $date] [template::util::date::get_property day $date]"
+ ns_log Notice " ** $date **"
+
set start_date [calendar::to_sql_datetime -date $date -time $start_time -time_p $time_p]
set end_date [calendar::to_sql_datetime -date $date -time $end_time -time_p $time_p]
if { ![calendar::personal_p -calendar_id $calendar_id] } {
permission::require_permission -object_id $calendar_id -privilege create
}
-
set cal_item_id [calendar::item::new \
-start_date $start_date \
-end_date $end_date \
@@ -235,19 +243,26 @@
-item_type_id $item_type_id]
if {$repeat_p} {
- ad_returnredirect [export_vars -base cal-item-create-recurrence { cal_item_id }]
+ ad_returnredirect [export_vars -base cal-item-create-recurrence { cal_item_id return_url}]
} else {
- ad_returnredirect [export_vars -base cal-item-view { cal_item_id }]
- }
+ if {![empty_string_p $return_url]} {
+ ad_returnredirect $return_url
+ } else {
+ ad_returnredirect [export_vars -base cal-item-view { cal_item_id }]
+ }
+ }
ad_script_abort
} -edit_data {
- set date [split $date "-"]
- lappend date ""
- lappend date ""
- lappend date ""
- lappend date "YYYY MM DD"
+ #set date [split $date "-"]
+ #lappend date ""
+ #lappend date ""
+ #lappend date ""
+ #lappend date "YYYY MM DD"
+ # set date [calendar::to_sql_datetime -date $date -time ""]
+ set date "[template::util::date::get_property year $date] [template::util::date::get_property month $date] [template::util::date::get_property day $date]"
+ ns_log Notice " ** $date **"
# Require write permission on the item and create on the calendar into which we're putting it
permission::require_write_permission -object_id $cal_item_id
@@ -259,6 +274,8 @@
set start_date [calendar::to_sql_datetime -date $date -time $start_time -time_p $time_p]
set end_date [calendar::to_sql_datetime -date $date -time $end_time -time_p $time_p]
+
+
# Do the edit
calendar::item::edit \
-cal_item_id $cal_item_id \
@@ -270,7 +287,11 @@
-edit_all_p $edit_all_p \
-calendar_id $calendar_id
- ad_returnredirect [export_vars -base cal-item-view { cal_item_id }]
+ if {![empty_string_p $return_url]} {
+ ad_returnredirect $return_url
+ } else {
+ ad_returnredirect [export_vars -base cal-item-view { cal_item_id }]
+ }
ad_script_abort
}