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.39 -r1.40 --- openacs-4/packages/calendar/www/cal-item-new.tcl 27 Oct 2014 16:41:08 -0000 1.39 +++ openacs-4/packages/calendar/www/cal-item-new.tcl 7 Aug 2017 23:48:05 -0000 1.40 @@ -15,7 +15,7 @@ {start_time ""} {end_time ""} {view "day"} - {return_url "./"} + {return_url:localurl "./"} } auth::require_login @@ -32,7 +32,7 @@ set calendar_options [calendar::calendar_list -privilege create] # Header stuff -template::add_body_handler -event "onload" -script "TimePChanged()" +template::add_body_handler -event "load" -script "TimePChanged();" template::head::add_css -href "/resources/calendar/calendar.css" -media all template::head::add_css -alternate -href "/resources/calendar/calendar-hc.css" -title "highContrast" @@ -47,7 +47,7 @@ set calendar_id [lindex $calendar_options 0 1] } # TODO: Move into ad_form -if { ([info exists cal_item_id] && $cal_item_id ne "") } { +if { [info exists cal_item_id] && $cal_item_id ne "" } { set page_title [_ calendar.Calendar_Edit_Item] set ad_form_mode display } else { @@ -65,10 +65,10 @@ {date:date {label "[_ calendar.Date_1]"} {format "YYYY MM DD"} - {after_html { \[[_ calendar.y-m-d]\]} } } + {after_html { \[[_ calendar.y-m-d]\]} } + } {time_p:text(radio) {label " "} - {html {onClick "javascript:TimePChanged(this);"}} {options {{"[_ calendar.All_Day_Event]" 0} {"[_ calendar.Use_Hours_Below]" 1} }} } @@ -93,6 +93,22 @@ } } +template::add_body_script -script { + function TimePChanged(elm) { + var form_name = "cal_item"; + + if (elm == null) return; + if (document.forms == null) return; + if (document.forms[form_name] == null) return; + if (elm.value == 0) { + disableTime(form_name); + } else { + enableTime(form_name); + } + } +} + + if { [ad_form_new_p -key cal_item_id] } { ad_form -extend -name cal_item -form { {repeat_p:text(radio) @@ -326,6 +342,27 @@ ad_returnredirect [export_vars -base cal-item-view { cal_item_id }] } ad_script_abort + +} -on_request { + template::add_event_listener -id cal_item:elements:time_p:0 -script {TimePChanged(this);} + template::add_event_listener -id cal_item:elements:time_p:1 -script {TimePChanged(this);} + template::add_event_listener -id cal_item.date-button -script {showCalendarWithDateWidget('date', 'y-m-d');} + + template::add_body_script -script { + if (document.forms["cal_item"].time_p[0].checked == true ) { + // All day event + disableTime("cal_item"); + } else { + enableTime("cal_item"); + } + } } + + +# Local variables: +# mode: tcl +# tcl-indent-level: 4 +# indent-tabs-mode: nil +# End: