Index: openacs-4/packages/calendar/tcl/cal-item-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/tcl/cal-item-procs-oracle.xql,v diff -u -r1.7 -r1.8 --- openacs-4/packages/calendar/tcl/cal-item-procs-oracle.xql 30 Sep 2003 12:10:04 -0000 1.7 +++ openacs-4/packages/calendar/tcl/cal-item-procs-oracle.xql 9 Jan 2004 22:55:52 -0000 1.8 @@ -3,7 +3,105 @@ oracle8.1.6 - + + + + select CASE WHEN (to_date(:start_date,'YYYY-MM-DD HH24:MI') - to_date(:end_date,'YYYY-MM-DD HH24:MI')) <= 0 + THEN 1 + ELSE -1 + END + from dual + + + + + + + + select cal_items.cal_item_id, + 0 as n_attachments, + to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as start_date_ansi, + to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as end_date_ansi, + nvl(e.name, a.name) as name, + nvl(e.description, a.description) as description, + recurrence_id, + cal_items.item_type_id, + cal_item_types.type as item_type, + on_which_calendar as calendar_id, + c.calendar_name, + o.creation_user + from acs_activities a, + acs_events e, + timespans s, + time_intervals t, + cal_items, + cal_item_types, + calendars c, + acs_objects o + where e.timespan_id = s.timespan_id + and s.interval_id = t.interval_id + and e.activity_id = a.activity_id + and e.event_id = :cal_item_id + and cal_items.cal_item_id= :cal_item_id + and cal_item_types.item_type_id(+)= cal_items.item_type_id + and c.calendar_id = on_which_calendar + and o.object_id = cal_items.cal_item_id + + + + + + + select cal_items.cal_item_id, + (select count(*) from attachments where object_id = cal_item_id) as n_attachments, + to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as start_date_ansi, + to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as end_date_ansi, + nvl(e.name, a.name) as name, + nvl(e.description, a.description) as description, + recurrence_id, + cal_items.item_type_id, + cal_item_types.type as item_type, + on_which_calendar as calendar_id, + c.calendar_name, + o.creation_user + from acs_activities a, + acs_events e, + timespans s, + time_intervals t, + cal_items, + cal_item_types, + calendars c, + acs_objects o + where e.timespan_id = s.timespan_id + and s.interval_id = t.interval_id + and e.activity_id = a.activity_id + and e.event_id = :cal_item_id + and cal_items.cal_item_id= :cal_item_id + and cal_item_types.item_type_id(+)= cal_items.item_type_id + and c.calendar_id = on_which_calendar + and o.object_id = cal_items.cal_item_id + + + + + +begin + :1 := recurrence.new(interval_type => :interval_type, + every_nth_interval => :every_n, + days_of_week => :days_of_week, + recur_until => :recur_until); +end; + + + + + +begin + acs_event.insert_instances(event_id => :cal_item_id); +end; + + + begin @@ -19,67 +117,66 @@ - + begin :1 := timespan.new( - start_date => to_date(:start_date,:date_format), - end_date => to_date(:end_date,:date_format) + start_date => to_date(:start_date,'YYYY-MM-DD HH24:MI'), + end_date => to_date(:end_date,'YYYY-MM-DD HH24:MI') ); end; - + begin :1 := cal_item.new( - on_which_calendar => :on_which_calendar, + on_which_calendar => :calendar_id, activity_id => :activity_id, timespan_id => :timespan_id, item_type_id => :item_type_id, creation_user => :creation_user, creation_ip => :creation_ip, - context_id => :on_which_calendar + context_id => :calendar_id ); end; - - + begin - time_interval.edit ( - interval_id => :interval_id, - start_date => to_date(:start_date,:date_format), - end_date => to_date(:end_date,:date_format) + cal_item.del ( + cal_item_id => :cal_item_id ); end; - - + begin - cal_item.del ( - cal_item_id => :cal_item_id + time_interval.edit ( + interval_id => :interval_id, + start_date => to_date(:start_date,'YYYY-MM-DD HH24:MI'), + end_date => to_date(:end_date,'YYYY-MM-DD HH24:MI') ); end; - + + begin @@ -91,7 +188,7 @@ - + begin acs_event.recurrence_timespan_edit ( @@ -102,5 +199,4 @@ end; -