Index: openacs-4/packages/calendar/www/cal-item-create-recurrence.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-create-recurrence.tcl,v diff -u -N -r1.4 -r1.4.8.1 --- openacs-4/packages/calendar/www/cal-item-create-recurrence.tcl 22 Jul 2002 21:46:19 -0000 1.4 +++ openacs-4/packages/calendar/www/cal-item-create-recurrence.tcl 30 Jun 2004 09:24:30 -0000 1.4.8.1 @@ -11,13 +11,78 @@ } { cal_item_id {return_url "./"} + {days_of_week ""} } -# Verify permission + +auth::require_login ad_require_permission $cal_item_id cal_item_write -# Select basic information about the event calendar::item::get -cal_item_id $cal_item_id -array cal_item +set dow_string "" +foreach dow [list [list "#calendar.Sunday#" 0] [list "#calendar.Monday#" 1] [list "#calendar.Tuesday#" 2] [list "#calendar.Wednesday#" 3] [list "#calendar.Thursday#" 4] [list "#calendar.Friday#" 5] [list "#calendar.Saturday#" 6]] { + if {[lindex $dow 1] == [expr "$cal_item(day_of_week) -1"]} { + set checked_html "CHECKED" + } else { + set checked_html "" + } + + set dow_string "$dow_string [lindex $dow 0]  \n" +} + +set recurrance_options [list \ + [list [_ calendar.day_s] day] \ + [list "$dow_string [_ calendar.of_the_week]" week] \ + [list "[_ calendar.day] $cal_item(day_of_month) [_ calendar.of_the_month]" month_by_date] \ + [list "[_ calendar.same] $cal_item(pretty_day_of_week) [_ calendar.of_the_month]" month_by_day] \ + [list [_ calendar.year] year]] + + +ad_form -name cal_item -export {return_url} -form { + {cal_item_id:key} + + {every_n:integer,optional + {label "[_ calendar.Repeat_every]"} + {value 1} + {html {size 4}} + } + + {interval_type:text(radio) + {label ""} + {options $recurrance_options} + } + + {recur_until:date + {label "[_ calendar.lt_Repeat_this_event_unt]"} + } + + {submit:text(submit) {label "[_ calendar.Add_Recurrence]"}} + +} -validate { +} -edit_data { + set start_date $cal_item(start_date) + set recur_until [calendar::to_sql_datetime -date $recur_until -time "" -time_p 0] + + if {![calendar::item::dates_valid_p -start_date $cal_item(start_date) -end_date $recur_until]} { + ad_return_complaint 1 [_ calendar.start_date_before_end_date] + ad_script_abort + } + + calendar::item::add_recurrence \ + -cal_item_id $cal_item_id \ + -interval_type $interval_type \ + -every_n $every_n \ + -days_of_week $days_of_week \ + -recur_until $recur_until +} -edit_request { + set recur_until [template::util::date::from_ansi $cal_item(start_date)] + set interval_type week +} -after_submit { + ad_returnredirect $return_url + ad_script_abort +} -has_submit 1 + + ad_return_template