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]