From f6ccf55790729a56bd6de73d2f412c09448da885 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 10 Nov 2011 11:27:00 +0100
Subject: [PATCH] FXOLAT-282: take the meeting settings from the vitero system

---
 .../olat/vitero/manager/ViteroManager.java    | 16 +++++++++----
 .../ui/ViteroBookingEditController.java       |  2 +-
 .../ui/ViteroBookingsAdminController.java     | 10 +++++---
 .../ui/ViteroBookingsEditController.java      | 24 +++++++++++--------
 4 files changed, 33 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/frentix/olat/vitero/manager/ViteroManager.java b/src/main/java/com/frentix/olat/vitero/manager/ViteroManager.java
index 4c7754eab49..6f8ecd55b99 100644
--- a/src/main/java/com/frentix/olat/vitero/manager/ViteroManager.java
+++ b/src/main/java/com/frentix/olat/vitero/manager/ViteroManager.java
@@ -956,14 +956,20 @@ public class ViteroManager extends BasicManager implements UserDataDeletable {
 	 * @param ores The OLAT resourceable (of the course) (optional)
 	 * @return
 	 */
-	public List<ViteroBooking> getBookings(BusinessGroup group, OLATResourceable ores) {
+	public List<ViteroBooking> getBookings(BusinessGroup group, OLATResourceable ores)
+	throws VmsNotAvailableException {
 		List<Property> properties = propertyManager.listProperties(null, group, ores, VMS_CATEGORY, null);
 		List<ViteroBooking> bookings = new ArrayList<ViteroBooking>();
 		for(Property property:properties) {
 			String bookingStr = property.getTextValue();
 			ViteroBooking booking = deserializeViteroBooking(bookingStr);
-			booking.setProperty(property);
-			bookings.add(booking);
+			Bookingtype bookingType = getBookingById(booking.getBookingId());
+			if(bookingType != null) {
+				Booking vmsBooking = bookingType.getBooking();
+				booking.setProperty(property);
+				update(booking, vmsBooking);
+				bookings.add(booking);
+			}
 		}
 		return bookings;
 	}
@@ -1114,9 +1120,9 @@ public class ViteroManager extends BasicManager implements UserDataDeletable {
 		vb.setGroupId(booking.getGroupid());
 		vb.setRoomSize(booking.getRoomsize());
 		vb.setStart(parse(booking.getStart()));
-		vb.setStartBuffer(booking.getEndbuffer());
+		vb.setStartBuffer(booking.getStartbuffer());
 		vb.setEnd(parse(booking.getEnd()));
-		vb.setEndBuffer(booking.getStartbuffer());
+		vb.setEndBuffer(booking.getEndbuffer());
 		return vb;
 	}
 	
diff --git a/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingEditController.java b/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingEditController.java
index 2e33a2a0aca..191b1477a4c 100644
--- a/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingEditController.java
+++ b/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingEditController.java
@@ -217,7 +217,7 @@ public class ViteroBookingEditController extends FormBasicController {
 		if(endBufferEl.isOneSelected()) {
 			endBuffer = Integer.parseInt(endBufferEl.getSelectedKey());
 		}
-		booking.setStartBuffer(endBuffer);
+		booking.setEndBuffer(endBuffer);
 		
 		int roomSize = -1;
 		if(roomSizeEl.isOneSelected()) {
diff --git a/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsAdminController.java b/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsAdminController.java
index 9da39b50708..e4578197785 100644
--- a/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsAdminController.java
+++ b/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsAdminController.java
@@ -202,8 +202,12 @@ public class ViteroBookingsAdminController extends BasicController {
 	}
 	
 	protected void reloadModel() {
-		List<ViteroBooking> bookings = viteroManager.getBookings(null, null);
-		ViteroBookingDataModel tableModel = new ViteroBookingDataModel(bookings);
-		tableCtr.setTableDataModel(tableModel);
+		try {
+			List<ViteroBooking> bookings = viteroManager.getBookings(null, null);
+			ViteroBookingDataModel tableModel = new ViteroBookingDataModel(bookings);
+			tableCtr.setTableDataModel(tableModel);
+		} catch (VmsNotAvailableException e) {
+			showError(VmsNotAvailableException.I18N_KEY);
+		}
 	}
 }
\ No newline at end of file
diff --git a/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsEditController.java b/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsEditController.java
index f073dbe4360..23068642c8b 100644
--- a/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsEditController.java
+++ b/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsEditController.java
@@ -100,17 +100,21 @@ public class ViteroBookingsEditController extends FormBasicController {
 	}
 	
 	protected void reloadModel() {
-		bookingDisplays.clear(); 
-		List<ViteroBooking> bookings = viteroManager.getBookings(group, ores);
-		int i=0;
-		for(ViteroBooking booking:bookings) {
-			BookingDisplay display = new BookingDisplay(booking);
-			display.setDeleteButton(uifactory.addFormLink("delete_" + i++, "delete", "delete", flc, Link.BUTTON));
-			display.setEditButton(uifactory.addFormLink("edit_" + i++, "edit", "edit", flc, Link.BUTTON));
-			display.setUsersButton(uifactory.addFormLink("users_" + i++, "users", "users", flc, Link.BUTTON));
-			bookingDisplays.add(display);
+		try {
+			bookingDisplays.clear(); 
+			List<ViteroBooking> bookings = viteroManager.getBookings(group, ores);
+			int i=0;
+			for(ViteroBooking booking:bookings) {
+				BookingDisplay display = new BookingDisplay(booking);
+				display.setDeleteButton(uifactory.addFormLink("delete_" + i++, "delete", "delete", flc, Link.BUTTON));
+				display.setEditButton(uifactory.addFormLink("edit_" + i++, "edit", "edit", flc, Link.BUTTON));
+				display.setUsersButton(uifactory.addFormLink("users_" + i++, "users", "users", flc, Link.BUTTON));
+				bookingDisplays.add(display);
+			}
+			flc.contextPut("bookingDisplays", bookingDisplays);
+		} catch (VmsNotAvailableException e) {
+			showError(VmsNotAvailableException.I18N_KEY);
 		}
-		flc.contextPut("bookingDisplays", bookingDisplays);
 	}
 
 	@Override
-- 
GitLab