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 }