Index: openacs-4/contrib/packages/room-reservation/tcl/rooms-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/room-reservation/tcl/rooms-procs.tcl,v diff -u -r1.2.2.1 -r1.2.2.2 --- openacs-4/contrib/packages/room-reservation/tcl/rooms-procs.tcl 12 Jul 2004 22:08:42 -0000 1.2.2.1 +++ openacs-4/contrib/packages/room-reservation/tcl/rooms-procs.tcl 11 Nov 2004 23:04:24 -0000 1.2.2.2 @@ -191,4 +191,23 @@ return [db_list_of_ns_sets select_reservations {}] } + ad_proc -public needs_approval_p { + {-room_id:required} + } { + Returns whether or not a given room requires approval + before it is committed + + @author (jader-ibr@bread.com) + @creation-date 2004-11-11 + + @param room_id + + @return + + @error + } { + return [db_string room_needs_approval_p {} -default "0"] + } + + } Index: openacs-4/contrib/packages/room-reservation/tcl/rooms-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/room-reservation/tcl/rooms-procs.xql,v diff -u -r1.1.4.1 -r1.1.4.2 --- openacs-4/contrib/packages/room-reservation/tcl/rooms-procs.xql 12 Jul 2004 22:08:42 -0000 1.1.4.1 +++ openacs-4/contrib/packages/room-reservation/tcl/rooms-procs.xql 11 Nov 2004 23:04:24 -0000 1.1.4.2 @@ -59,5 +59,15 @@ + + + select approval_needed_p + from rr_rooms + where room_id = :room_id + + + + + Index: openacs-4/contrib/packages/room-reservation/www/reservation-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/packages/room-reservation/www/reservation-edit.tcl,v diff -u -r1.2.2.2 -r1.2.2.3 --- openacs-4/contrib/packages/room-reservation/www/reservation-edit.tcl 5 Oct 2004 00:08:58 -0000 1.2.2.2 +++ openacs-4/contrib/packages/room-reservation/www/reservation-edit.tcl 11 Nov 2004 23:04:33 -0000 1.2.2.3 @@ -22,15 +22,18 @@ permission::require_permission -party_id $user_id -object_id $reservation_id -privilege "write" } -if {![string equal "pending" [room-reservation::reservations::get_status -reservation_id $reservation_id]] && ![permission::permission_p -party_id $user_id -object_id $reservation_id -privilege "admin"]} { +set room_id [room-reservation::reservations::get_room_id -reservation_id $reservation_id] +set room_full_name [room-reservation::rooms::get_full_name -room_id $room_id] + +if { \ + [room-reservation::rooms::needs_approval_p -room_id $room_id] && + ![string equal "pending" [room-reservation::reservations::get_status -reservation_id $reservation_id]] && \ + ![permission::permission_p -party_id $user_id -object_id $reservation_id -privilege "admin"]} { ad_return_complaint 1 "
  • you can only edit a pending reservation
  • " } room-reservation::get_ui_params -rooms_pretty_plural rooms_pretty_plural -set room_id [room-reservation::reservations::get_room_id -reservation_id $reservation_id] -set room_full_name [room-reservation::rooms::get_full_name -room_id $room_id] - set title "[_ room-reservation.Edit_A_Reservation]" set context [list [list "rooms" $rooms_pretty_plural] [list "room-view?room_id=$room_id" "[_ room-reservation.room_full_name_Info]"] [list "room-reservations?room_id=$room_id" "[_ room-reservation.lt_room_full_name_Reserv]"] [list "reservation-view?reservation_id=$reservation_id" "[_ room-reservation.Reservation_Info]"] $title]