_calendar__cal_item_edit_recurrence (private)
_calendar__cal_item_edit_recurrence
Defined in packages/calendar/tcl/test/cal-item-procs.tcl
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: set _aa_export {} set body_count 1 foreach testcase_body {{ aa_run_with_teardown -rollback -test_code { # create a test calendar set calendar_id [calendar::create [ad_conn user_id] t] # create a recurring calendar item set ci_start_date [clock format [clock seconds] -format "%Y-%m-%d"] set ci_end_date [clock format [clock scan "tomorrow" -base [clock seconds]] -format "%Y-%m-%d"] set recur_until [clock format [clock scan "10 days" -base [clock seconds]] -format "%Y-%m-%d"] set ci_name "name" set ci_description "description" set cal_item_id [calendar::item::new -start_date $ci_start_date -end_date $ci_end_date -name $ci_name -description $ci_description -calendar_id $calendar_id] calendar::item::get -cal_item_id $cal_item_id -array cal_item aa_equals "Name is correct" $ci_name $cal_item(name) aa_equals "Description is correct" $ci_description $cal_item(description) # edit the time of the event set recurrence_id [calendar::item::add_recurrence -cal_item_id $cal_item_id -interval_type "day" -every_n 1 -days_of_week "" -recur_until $recur_until] aa_log "Recurrence_id = '${recurrence_id}'" # compare recurrent events set passed 1 set recurrence_event_ids [list] set name "" set recurrence_event_ids [db_list q { select cal_item_id as cal_item_id from acs_events, cal_items where cal_item_id=event_id and recurrence_id=:recurrence_id }] foreach event_id $recurrence_event_ids { calendar::item::get -cal_item_id $event_id -array cal_item set passed [expr {$passed && $ci_name eq $cal_item(name)}] # for some reason the description is not set set passed [expr {$passed && $ci_description eq $cal_item(description)}] lappend recurrence_event_ids $event_id } aa_true "Name correct on all recurrences" $passed # aa_log $recurrence_event_ids # update time only set ci_start_date [clock format [clock scan "1 month" -base [clock scan $ci_start_date]] -format "%Y-%m-%d"] set ci_end_date [clock format [clock scan "1 month" -base [clock scan $ci_end_date]] -format "%Y-%m-%d"] calendar::item::edit -cal_item_id $cal_item_id -start_date $ci_start_date -end_date $ci_end_date -name $ci_name -description $ci_description -edit_all_p t set passed 1 foreach event_id $recurrence_event_ids { calendar::item::get -cal_item_id $event_id -array cal_item set passed [expr {$passed && $ci_name eq $cal_item(name)}] # for some reason the description is not set set passed [expr {$passed && $ci_description eq $cal_item(description)}] } aa_true "Name correct on all recurrences 2" $passed # Update name to be unique per instance # aa_log "Recurrence event_ids $recurrence_event_ids" foreach event_id $recurrence_event_ids { calendar::item::get -cal_item_id $event_id -array cal_item set new_names($event_id) "name $event_id" calendar::item::edit -cal_item_id $event_id -start_date $cal_item(start_date) -end_date $cal_item(end_date) -name $new_names($event_id) -description $cal_item(description) } set passed 1 foreach event_id $recurrence_event_ids { calendar::item::get -cal_item_id $event_id -array cal_item set passed [expr {$passed && $new_names($event_id) eq $cal_item(name)}] set passed [expr {$passed && $ci_description eq $cal_item(description)}] } aa_true "New individual names are correct" $passed # don't edit name! calendar::item::get -cal_item_id $cal_item_id -array cal_item calendar::item::edit -cal_item_id $cal_item_id -start_date $ci_start_date -end_date $ci_end_date -name $cal_item(name) -description $cal_item(description) -edit_all_p t set passed 1 foreach event_id $recurrence_event_ids { calendar::item::get -cal_item_id $event_id -array cal_item set passed [expr {$passed && $new_names($event_id) eq $cal_item(name)}] set passed [expr {$passed && $ci_description eq $cal_item(description)}] } aa_true "Edited item and New individual names are correct" $passed calendar::item::edit -cal_item_id $cal_item_id -start_date $ci_start_date -end_date $ci_end_date -name "New Name" -description $cal_item(description) -edit_all_p t set passed 1 foreach event_id $recurrence_event_ids { calendar::item::get -cal_item_id $event_id -array cal_item set passed [expr {$passed && "New Name" eq $cal_item(name)}] set passed [expr {$passed && $ci_description eq $cal_item(description)}] } aa_true "Edited item name and New individual names are updated" $passed aa_log "Deleting recurrence" calendar::item::delete_recurrence -recurrence_id $recurrence_id aa_false "All recurring events have been deleted" [db_0or1row check [subst { select 1 from acs_objects where object_id in ([join $recurrence_event_ids ,]) fetch first 1 rows only }]] } }} { aa_log "Running testcase body $body_count" set ::__aa_test_indent [info level] set catch_val [catch $testcase_body msg] if {$catch_val != 0 && $catch_val != 2} { aa_log_result "fail" "cal_item_edit_recurrence (body $body_count): Error during execution: $msg, stack trace: \n$::errorInfo" } incr body_count }XQL Not present: Generic, PostgreSQL, Oracle