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 4c7754eab49d5e8c352650952f14e2f1536e0248..6f8ecd55b997228031c959ac30ea77d68aef17b2 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 2e33a2a0aca7ae56234d3a0a56ffd8516de42a1a..191b1477a4c899c2a4eb5399ba883de6885ee03d 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 9da39b50708bb5e16263c353924539aad3a4c426..e457819778521ad1d4171060a49a8c23a93b44e8 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 f073dbe436096af889a82d600bac3b857cca312d..23068642c8b3cc5e33c7653f89bf5586b36d554f 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