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.41.2.17 -r1.41.2.18 --- openacs-4/packages/calendar/www/cal-item-new.tcl 28 Feb 2023 09:28:40 -0000 1.41.2.17 +++ openacs-4/packages/calendar/www/cal-item-new.tcl 31 Jan 2024 10:27:02 -0000 1.41.2.18 @@ -184,7 +184,10 @@ } -edit_request { - permission::require_write_permission -object_id $cal_item_id -creation_user $cal_item(creation_user) + ::permission::require_permission \ + -object_id $cal_item_id \ + -privilege write \ + -party_id $user_id set cal_item_id $cal_item(cal_item_id) set n_attachments $cal_item(n_attachments) @@ -247,7 +250,10 @@ set end_date "$date $end_time" if { ![calendar::personal_p -calendar_id $calendar_id] } { - permission::require_permission -object_id $calendar_id -privilege create + ::permission::require_permission \ + -object_id $calendar_id \ + -privilege create \ + -party_id $user_id } set cal_item_id [calendar::item::new \ -start_date $start_date \ @@ -270,10 +276,23 @@ } -edit_data { - # Require write permission on the item and create on the calendar into which we're putting it - permission::require_write_permission -object_id $cal_item_id + # + # Require write permission to write on the item. + # + ::permission::require_permission \ + -object_id $cal_item_id \ + -privilege write \ + -party_id $user_id + + # + # When the calendar is not personal, also require the permission + # to create in it. + # if { ![calendar::personal_p -calendar_id $calendar_id] } { - permission::require_permission -object_id $calendar_id -privilege create + ::permission::require_permission \ + -object_id $calendar_id \ + -privilege create \ + -party_id $user_id } # set up the datetimes