Index: openacs-4/packages/calendar/tcl/cal-item-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/tcl/cal-item-procs.xql,v diff -u -r1.8 -r1.9 --- openacs-4/packages/calendar/tcl/cal-item-procs.xql 8 Aug 2006 21:26:17 -0000 1.8 +++ openacs-4/packages/calendar/tcl/cal-item-procs.xql 23 Nov 2017 08:43:16 -0000 1.9 @@ -1,6 +1,141 @@ + + + select CASE + WHEN cast(:start_date as timestamp with time zone) <= cast(:end_date as timestamp with time zone) THEN 1 + ELSE -1 + END from dual + + + + + + select + i.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, + coalesce(e.name, a.name) as name, + coalesce(e.description, a.description) as description, + recurrence_id, + i.item_type_id, + it.type as item_type, + on_which_calendar as calendar_id, + c.calendar_name, + o.creation_user, + c.package_id as calendar_package_id, + e.related_link_url, + e.related_link_text, + e.redirect_to_rel_link_p + from + acs_events e join timespans s + on (e.timespan_id = s.timespan_id) + join time_intervals t + on (s.interval_id = t.interval_id) + join acs_activities a + on (e.activity_id = a.activity_id) + join cal_items i + on (e.event_id = i.cal_item_id) + left join cal_item_types it + on (it.item_type_id = i.item_type_id) + left join calendars c + on (c.calendar_id = i.on_which_calendar) + left join acs_objects o + on (o.object_id = i.cal_item_id) + where + e.event_id = :cal_item_id + + + + + + select + i.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, + coalesce(e.name, a.name) as name, + coalesce(e.description, a.description) as description, + recurrence_id, + i.item_type_id, + it.type as item_type, + on_which_calendar as calendar_id, + c.calendar_name, + o.creation_user, + c.package_id as calendar_package_id, + e.related_link_url, + e.related_link_text, + e.redirect_to_rel_link_p + from + acs_events e join timespans s + on (e.timespan_id = s.timespan_id) + join time_intervals t + on (s.interval_id = t.interval_id) + join acs_activities a + on (e.activity_id = a.activity_id) + join cal_items i + on (e.event_id = i.cal_item_id) + left join cal_item_types it + on (it.item_type_id = i.item_type_id) + left join calendars c + on (c.calendar_id = i.on_which_calendar) + left join acs_objects o + on (o.object_id = i.cal_item_id) + where + e.event_id = :cal_item_id + + + + + + update acs_events set + [join $colspecs ", "] + where recurrence_id= :recurrence_id + and event_id in + (select e.event_id + from acs_events e, timespans t, time_intervals i + where e.recurrence_id = :recurrence_id + and t.timespan_id = e.timespan_id + and i.interval_id = t.interval_id + and (:edit_past_events_p = 't' + or i.start_date >= :start_date) + ) + + + + + + update cal_items + set [join $colspecs ", "] + where cal_item_id in (select e.event_id + from acs_events e, timespans t, time_intervals i + where e.recurrence_id = :recurrence_id + and t.timespan_id = e.timespan_id + and i.interval_id = t.interval_id + and (:edit_past_events_p = 't' + or i.start_date >= :start_date) + ) + + + + + + update acs_objects + set context_id = :calendar_id + where object_id in + (select e.event_id + from acs_events e, timespans t, time_intervals i + where e.recurrence_id = :recurrence_id + and t.timespan_id = e.timespan_id + and i.interval_id = t.interval_id + and (:edit_past_events_p = 't' + or i.start_date >= :start_date) + ) + + + update acs_events