Index: openacs-4/packages/calendar/tcl/cal-item-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/tcl/cal-item-procs.tcl,v diff -u -r1.20.2.4 -r1.20.2.5 --- openacs-4/packages/calendar/tcl/cal-item-procs.tcl 25 Oct 2005 11:50:36 -0000 1.20.2.4 +++ openacs-4/packages/calendar/tcl/cal-item-procs.tcl 16 Aug 2006 17:20:32 -0000 1.20.2.5 @@ -90,8 +90,11 @@ } { upvar $array row + if { [catch { + set attachments_enabled_p [calendar::attachments_enabled_p] + }] } { set attachments_enabled_p 0 } - if {[calendar::attachments_enabled_p]} { + if { $attachments_enabled_p } { set query_name select_item_data_with_attachment } else { set query_name select_item_data Index: openacs-4/packages/calendar/tcl/calendar-sc-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/tcl/calendar-sc-procs.tcl,v diff -u -r1.1 -r1.1.2.1 --- openacs-4/packages/calendar/tcl/calendar-sc-procs.tcl 1 Apr 2004 21:00:49 -0000 1.1 +++ openacs-4/packages/calendar/tcl/calendar-sc-procs.tcl 16 Aug 2006 17:20:32 -0000 1.1.2.1 @@ -36,7 +36,7 @@ content $content \ keywords {} \ storage_type text \ - mime_type text/plain ] + mime text/plain ] } ad_proc -private calendar::fts::url { cal_item_id } { @@ -56,12 +56,14 @@ } { db_transaction { calendar::sc::register_cal_item_fts_impl + calendar::sc::register_acs_event_fts_impl } } ad_proc -private calendar::sc::unregister_implementations {} { db_transaction { acs_sc::impl::delete -contract_name FtsContentProvider -impl_name cal_item + acs_sc::impl::delete -contract_name FtsContentProvider -impl_name acs_event } } @@ -78,3 +80,17 @@ acs_sc::impl::new_from_spec -spec $spec } + +ad_proc -private calendar::sc::register_acs_event_fts_impl {} { + set spec { + name "acs_event" + aliases { + datasource calendar::fts::datasource + url calendar::fts::url + } + contract_name FtsContentProvider + owner calendar + } + + acs_sc::impl::new_from_spec -spec $spec +} 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.26.2.11 -r1.26.2.12 --- openacs-4/packages/calendar/www/cal-item-new.tcl 2 Aug 2006 10:40:49 -0000 1.26.2.11 +++ openacs-4/packages/calendar/www/cal-item-new.tcl 16 Aug 2006 17:20:33 -0000 1.26.2.12 @@ -173,7 +173,7 @@ set end_time "{} {} {} [expr $start_hour + 1] 0 {} {HH24:MI}" set time_p 1 } else { - set time_p 1 + set time_p 0 set start_hour $start_time set start_time "{} {} {} 0 0 {} {HH24:MI}" set end_time "{} {} {} 0 0 {} {HH24:MI}" Index: openacs-4/packages/calendar/www/cal-item-view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-view.adp,v diff -u -r1.25 -r1.25.2.1 --- openacs-4/packages/calendar/www/cal-item-view.adp 13 Jan 2005 13:56:30 -0000 1.25 +++ openacs-4/packages/calendar/www/cal-item-view.adp 16 Aug 2006 17:20:33 -0000 1.25.2.1 @@ -9,99 +9,68 @@ <table width="95%"> <tr> - <td valign=top width=150> + <td valign="top" width="150"> <include src="mini-calendar" base_url="view" view="day" date="@date@"> </td> - <td valign=top> + <td valign="top"> <table class="cal-table-display"> + <caption>Calendar Event Details</caption> <tr> - <td colspan="2" class="cal-table-title"> - Calendar Event Details: - </td> + <th class="cal-table-data-title">#calendar.Title#</th> + <td>@cal_item.name@</td> </tr> <tr> - <td class="cal-table-data-title">#calendar.Title# - </td> - <td >@cal_item.name@</td> + <th class="cal-table-data-title">#calendar.Description#:</th> + <td>@cal_item.description;noquote@</td> </tr> <tr> - <td class="cal-table-data-title">#calendar.Description#: - </td> - <td>@cal_item.description;noquote@ + <th class="cal-table-data-title">#calendar.Sharing#:</th> + <td>@cal_item.calendar_name@</td> </tr> <tr> - <td class="cal-table-data-title">#calendar.Sharing#: - </td> - <td>@cal_item.calendar_name@ + <th class="cal-table-data-title">#calendar.Date_1#<if @cal_item.no_time_p@ eq 0> #calendar.and_Time#</if>:</th> + <td><a href="./view?view=day&date=@cal_item.start_date@">@cal_item.pretty_short_start_date@</a> + <if @cal_item.no_time_p@ eq 0>, #calendar.from# @cal_item.start_time@ #calendar.to# @cal_item.end_time@</if></td> </tr> - <tr> - <td class="cal-table-data-title">#calendar.Date_1# - <if @cal_item.no_time_p@ eq 0> - #calendar.and_Time# - </if> - : - <td> - <a - href="./view?view=day&date=@cal_item.start_date@">@cal_item.pretty_short_start_date@</a> - <if @cal_item.no_time_p@ eq 0>, #calendar.from# @cal_item.start_time@ - #calendar.to# @cal_item.end_time@</if> - </td> - </tr> - <if @cal_item.item_type@ not nil> - <tr> - <td class="cal-table-data-title"> - #calendar.Type# - </td> - <td> - @cal_item.item_type@ - </td> - </tr> + <tr> + <th class="cal-table-data-title">#calendar.Type#</th> + <td>@cal_item.item_type@</td> + </tr> </if> <if @cal_item.n_attachments@ gt 0> <tr> - <th align=right> - #calendar.Attachments# - </th> + <th class="cal-table-data-title">#calendar.Attachments#</th> <td> - + <ul> <% foreach attachment $item_attachments { - template::adp_puts "<a href=\"[lindex $attachment 2]\">[lindex $attachment 1]</a> " + template::adp_puts "<li><a href=\"[lindex $attachment 2]\">[lindex $attachment 1]</a> \[<a href=\"[lindex $attachment 3]\">#attachments.remove#</a>\]</li>" } %> + </ul> + @attachment_options;noquote@ </td> </tr> </if> <tr> - <td colspan="2" class="cal-table-title"> - </td> - </tr> - <tr> <td colspan="2"> <if @write_p@ true> <a href="cal-item-new?cal_item_id=@cal_item_id@&return_url=@return_url@" class="button">#calendar.edit#</a> <a href="./cal-item-delete?cal_item_id=@cal_item_id@&return_url=@return_url@" class="button">#calendar.delete#</a> - @attachment_options;noquote@ </if> - <p><a href="ics/@cal_item_id@.ics" class="button">#calendar.sync_with_Outlook#</a> + <p><a href="ics/@cal_item_id@.ics">#calendar.sync_with_Outlook#</a> + <if @cal_item.recurrence_id@ not nil>(<a href="ics/@cal_item_id@.ics?all_occurences_p=1">#calendar.all_events#</a>)</if> </td> </tr> - <if @cal_item.recurrence_id@ not nil> - <tr> - <td> - <a href="ics/@cal_item_id@.ics?all_occurences_p=1" class="button">#calendar.all_events#</a> - </td> - <td>Sync all events with Outlook</td> - </tr> - </if> + </table> </table> Index: openacs-4/packages/calendar/www/cal-item-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/cal-item-view.tcl,v diff -u -r1.15.2.2 -r1.15.2.3 --- openacs-4/packages/calendar/www/cal-item-view.tcl 10 Dec 2005 12:01:03 -0000 1.15.2.2 +++ openacs-4/packages/calendar/www/cal-item-view.tcl 16 Aug 2006 17:20:33 -0000 1.15.2.3 @@ -18,10 +18,13 @@ set write_p [permission::write_permission_p -object_id $cal_item_id -creation_user $cal_item(creation_user)] +if {[exists_and_not_null return_url]} { + set return_url [ad_urlencode $return_url] +} # Attachments? if {$cal_item(n_attachments) > 0} { - set item_attachments [attachments::get_attachments -object_id $cal_item(cal_item_id)] + set item_attachments [attachments::get_attachments -object_id $cal_item(cal_item_id) -return_url [ad_return_url]] } else { set item_attachments [list] } @@ -31,7 +34,7 @@ # Attachment URLs if {[calendar::attachments_enabled_p]} { - set attachment_options " | <A href=\"[attachments::add_attachment_url -object_id $cal_item(cal_item_id) -pretty_name $cal_item(name) -return_url "../cal-item-view?cal_item_id=$cal_item(cal_item_id)"]\" class=\"button\" >add attachment</a>" + set attachment_options "\[<A href=\"[attachments::add_attachment_url -object_id $cal_item(cal_item_id) -pretty_name $cal_item(name) -return_url "../cal-item-view?cal_item_id=$cal_item(cal_item_id)"]\" class=\"button\" >add attachment</a>\]" } else { set attachment_options {} } Index: openacs-4/packages/calendar/www/view-list-display.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-list-display.tcl,v diff -u -r1.25.2.1 -r1.25.2.2 --- openacs-4/packages/calendar/www/view-list-display.tcl 26 Sep 2005 08:44:57 -0000 1.25.2.1 +++ openacs-4/packages/calendar/www/view-list-display.tcl 16 Aug 2006 17:20:33 -0000 1.25.2.2 @@ -8,7 +8,10 @@ } if {[info exists portlet_mode_p] && $portlet_mode_p} { - set item_template "\${url_stub}cal-item-view?show_cal_nav=0&return_url=[ad_urlencode "../"]&action=edit&cal_item_id=\$item_id" + if {![info exists return_url]} { + set return_url [ad_urlencode "../"] + } + set item_template "\${url_stub}cal-item-view?show_cal_nav=0&return_url=${return_url}&action=edit&cal_item_id=\$item_id" set url_stub_callback "calendar_portlet_display::get_url_stub" set page_num_formvar [export_form_vars page_num] set page_num "&page_num=$page_num" Index: openacs-4/packages/calendar/www/view-month-display.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-month-display.adp,v diff -u -r1.13.6.4 -r1.13.6.5 --- openacs-4/packages/calendar/www/view-month-display.adp 5 Jul 2006 23:07:15 -0000 1.13.6.4 +++ openacs-4/packages/calendar/www/view-month-display.adp 16 Aug 2006 17:20:33 -0000 1.13.6.5 @@ -30,12 +30,17 @@ </if> <else> <if @items.today_p@ true> - <td class="cal-month-today" <if @add_p@> onclick="javascript:location.href='@items.add_url@';"</if>> + <td class="cal-month-today" <if @items.day_url@ not nil>onclick="javascript:location.href='@items.day_url@';"</if>> </if> <else> - <td class="cal-month-day" <if @add_p@>onclick="javascript:location.href='@items.add_url@';"</if>> + <td class="cal-month-day" <if @items.day_url@ not nil>onclick="javascript:location.href='@items.day_url@';"</if>> </else> - <if @items.day_url@ not nil><a href="@items.day_url@">@items.day_number@</a></if><else>@items.day_number@</else> + <if @items.day_url@ not nil> + <a href="@items.day_url@">@items.day_number@</a> <if @add_p@><a href="@items.add_url@"><img border="0" src="/resources/acs-subsite/add.gif" alt="#calendar.Add_Item#"></a></if> + </if> + <else> + @items.day_number@ + </else> <group column="day_number"> <if @items.event_name@ true> Index: openacs-4/packages/calendar/www/view-month-display.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-month-display.tcl,v diff -u -r1.17.2.6 -r1.17.2.7 --- openacs-4/packages/calendar/www/view-month-display.tcl 11 Oct 2005 02:08:59 -0000 1.17.2.6 +++ openacs-4/packages/calendar/www/view-month-display.tcl 16 Aug 2006 17:20:33 -0000 1.17.2.7 @@ -38,7 +38,10 @@ if {[info exists portlet_mode_p] && $portlet_mode_p} { set page_num_urlvar "&page_num=$page_num" - set item_template "\${url_stub}cal-item-view?show_cal_nav=0&return_url=[ad_urlencode "../"]&action=edit&cal_item_id=\$item_id" + if {![info exists return_url]} { + set return_url [ad_urlencode "../"] + } + set item_template "\${url_stub}cal-item-view?show_cal_nav=0&return_url=${return_url}&action=edit&cal_item_id=\$item_id" set prev_month_template "?view=month&date=\[ad_urlencode \$prev_month\]&page_num=$page_num" set next_month_template "?view=month&date=\[ad_urlencode \$next_month\]&page_num=$page_num" set url_stub_callback "calendar_portlet_display::get_url_stub" Index: openacs-4/packages/calendar/www/view-one-day-display.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-one-day-display.tcl,v diff -u -r1.32.2.1 -r1.32.2.2 --- openacs-4/packages/calendar/www/view-one-day-display.tcl 19 Jun 2005 07:49:35 -0000 1.32.2.1 +++ openacs-4/packages/calendar/www/view-one-day-display.tcl 16 Aug 2006 17:20:33 -0000 1.32.2.2 @@ -8,15 +8,18 @@ } set current_date $date +if {![info exists return_url]} { + set return_url [ad_urlencode "../"] +} if {[info exists portlet_mode_p] && $portlet_mode_p} { - set item_template "\${url_stub}cal-item-view?show_cal_nav=0&return_url=[ad_urlencode "../"]&action=edit&cal_item_id=\$item_id" + set item_template "\${url_stub}cal-item-view?show_cal_nav=0&return_url=${return_url}&action=edit&cal_item_id=\$item_id" set url_stub_callback "calendar_portlet_display::get_url_stub" - set hour_template "calendar/cal-item-new?date=$current_date&start_time=\$day_current_hour" + set hour_template "calendar/cal-item-new?date=$current_date&start_time=\$day_current_hour&return_url=$return_url" } else { set item_template "cal-item-view?cal_item_id=\$item_id" set url_stub_callback "" - set hour_template {cal-item-new?date=$current_date&start_time=$day_current_hour} + set hour_template {cal-item-new?date=$current_date&start_time=$day_current_hour&return_url=$return_url} } if { ![info exists show_calendar_name_p] } { Index: openacs-4/packages/calendar/www/view-week-display.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-week-display.adp,v diff -u -r1.10.2.1 -r1.10.2.2 --- openacs-4/packages/calendar/www/view-week-display.adp 19 Jun 2005 07:49:35 -0000 1.10.2.1 +++ openacs-4/packages/calendar/www/view-week-display.adp 16 Aug 2006 17:20:33 -0000 1.10.2.2 @@ -19,7 +19,7 @@ <td width="95%" class="cal-week"> <a href="@items.add_url@"> <img border="0" align="right" height="7" width="7" - src="/resources/acs-subsite/add.gif" alt="#calendar.Add_Item#"> + src="/resources/acs-subsite/add.gif" alt="#calendar.Add_Item#"> </a> <a href="@items.day_url@">@items.start_date@</a> </td> Index: openacs-4/packages/calendar/www/view-week-display.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view-week-display.tcl,v diff -u -r1.17 -r1.17.2.1 --- openacs-4/packages/calendar/www/view-week-display.tcl 17 May 2004 15:15:00 -0000 1.17 +++ openacs-4/packages/calendar/www/view-week-display.tcl 16 Aug 2006 17:20:33 -0000 1.17.2.1 @@ -8,7 +8,10 @@ } if {[info exists portlet_mode_p] && $portlet_mode_p} { - set item_template "\${url_stub}cal-item-view?show_cal_nav=0&return_url=[ad_urlencode "../"]&action=edit&cal_item_id=\$item_id" + if {![info exists return_url]} { + set return_url [ad_urlencode "../"] + } + set item_template "\${url_stub}cal-item-view?show_cal_nav=0&return_url=${return_url}&action=edit&cal_item_id=\$item_id" set url_stub_callback "calendar_portlet_display::get_url_stub" set page_num_formvar [export_form_vars page_num] set page_num_urlvar "&page_num=$page_num" @@ -105,7 +108,7 @@ "" \ "" \ "" \ - "${base_url}cal-item-new?date=${ansi_this_date}&start_time=&end_time=" \ + "${base_url}cal-item-new?date=${ansi_this_date}&start_time=&end_time=&return_url=$return_url" \ "?view=day&date=$ansi_this_date&page_num_urlvar" } @@ -138,7 +141,7 @@ $end_time \ $no_time_p \ "?view=day&date=$ansi_start_date&page_num_urlvar" \ - "${base_url}cal-item-new?date=${ansi_this_date}&start_time=&end_time=" + "${base_url}cal-item-new?date=${ansi_this_date}&start_time=&end_time=&return_url=$return_url" set current_weekday $day_of_week } @@ -157,7 +160,7 @@ "" \ "" \ "" \ - "${base_url}cal-item-new?date=${ansi_this_date}&start_time=&end_time=" \ + "${base_url}cal-item-new?date=${ansi_this_date}&start_time=&end_time=&return_url=$return_url" \ "?view=day&date=$ansi_this_date&page_num_urlvar" } } Index: openacs-4/packages/calendar/www/view.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view.adp,v diff -u -r1.28 -r1.28.6.1 --- openacs-4/packages/calendar/www/view.adp 26 Feb 2004 12:43:23 -0000 1.28 +++ openacs-4/packages/calendar/www/view.adp 16 Aug 2006 17:20:33 -0000 1.28.6.1 @@ -12,7 +12,7 @@ <include src="mini-calendar" base_url="view" view="@view@" date="@date@"> </else> <p> - <a href="cal-item-new?date=@date@&view=@view@" title="#calendar.Add_Item#"> + <a href="cal-item-new?date=@date@&view=@view@&return_url=@return_url;noquote@" title="#calendar.Add_Item#"> <img border=0 align="left" valign="top" src="/resources/acs-subsite/add.gif" alt="#calendar.Add_Item#">#calendar.Add_Item#</a> </p> @@ -32,25 +32,25 @@ <div id="events"> <if @view@ eq "list"> - <include src="view-list-display" start_date=@start_date@ + <include src="view-list-display" start_date=@start_date@ return_url="@return_url@" end_date=@end_date@ date=@date@ period_days=@period_days@ sort_by=@sort_by@ show_calendar_name_p=@show_calendar_name_p@> </if> <if @view@ eq "day"> - <include src="view-one-day-display" date="@date@" start_hour=0 end_hour=23 + <include src="view-one-day-display" date="@date@" start_hour=0 end_hour=23 return_url="@return_url@" show_calendar_name_p=@show_calendar_name_p@> </if> <if @view@ eq "week"> - <include src="view-week-display" date="@date@" + <include src="view-week-display" date="@date@" return_url="@return_url@" show_calendar_name_p=@show_calendar_name_p@> </if> <if @view@ eq "month"> - <include src="view-month-display" date=@date@ + <include src="view-month-display" date=@date@ return_url="@return_url@" show_calendar_name_p=@show_calendar_name_p@> </if> </div> Index: openacs-4/packages/calendar/www/view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/view.tcl,v diff -u -r1.22 -r1.22.2.1 --- openacs-4/packages/calendar/www/view.tcl 29 Jun 2004 10:17:52 -0000 1.22 +++ openacs-4/packages/calendar/www/view.tcl 16 Aug 2006 17:20:33 -0000 1.22.2.1 @@ -25,6 +25,9 @@ set package_id [ad_conn package_id] set user_id [ad_conn user_id] +# HAM : try to create a return url back here after creating a new item +set return_url [ad_urlencode [ad_return_url]] + set admin_p [permission::permission_p -object_id $package_id -privilege calendar_admin] set show_calendar_name_p [parameter::get -parameter Show_Calendar_Name_p -default 1] Index: openacs-4/packages/calendar/www/resources/calendar.css =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/resources/calendar.css,v diff -u -r1.7.2.3 -r1.7.2.4 --- openacs-4/packages/calendar/www/resources/calendar.css 4 Apr 2006 09:58:02 -0000 1.7.2.3 +++ openacs-4/packages/calendar/www/resources/calendar.css 16 Aug 2006 17:20:33 -0000 1.7.2.4 @@ -28,6 +28,7 @@ border-width: 0px 0px 1px 0px; border-style: solid; border-color: #dfe2e5; + vertical-align: top; } .cal-week {