use of org.olat.modules.vitero.manager.VmsNotAvailableException in project openolat by klemens.
the class ViteroBookingsController method signOutVitero.
protected void signOutVitero(UserRequest ureq, ViteroBooking booking) {
try {
ViteroStatus status = viteroManager.removeFromRoom(booking, ureq.getIdentity());
if (status.isOk()) {
showInfo("signout.ok");
} else {
showError("signout.nok");
}
loadModel();
} catch (VmsNotAvailableException e) {
showError(VmsNotAvailableException.I18N_KEY);
}
}
use of org.olat.modules.vitero.manager.VmsNotAvailableException in project openolat by klemens.
the class ViteroBookingsEditController method newBooking.
protected void newBooking(UserRequest ureq) {
try {
ViteroBooking viteroBooking = viteroManager.createBooking(resourceName);
editBooking(ureq, viteroBooking);
} catch (VmsNotAvailableException e) {
showError(VmsNotAvailableException.I18N_KEY);
}
}
use of org.olat.modules.vitero.manager.VmsNotAvailableException in project openolat by klemens.
the class ViteroBookingsEditController method occupiedRooms.
protected void occupiedRooms(UserRequest ureq) {
removeAsListenerAndDispose(bookingController);
try {
roomsOverviewController = new ViteroRoomsOverviewController(ureq, getWindowControl());
listenTo(roomsOverviewController);
removeAsListenerAndDispose(cmc);
cmc = new CloseableModalController(getWindowControl(), translate("close"), roomsOverviewController.getInitialComponent(), true, translate("roomsOverview"));
listenTo(cmc);
cmc.activate();
} catch (VmsNotAvailableException e) {
showError(VmsNotAvailableException.I18N_KEY);
}
}
use of org.olat.modules.vitero.manager.VmsNotAvailableException in project openolat by klemens.
the class ViteroBookingWebService method saveRoom.
private Response saveRoom(ViteroBookingVO booking) {
try {
ViteroBooking vBooking = new ViteroBooking();
vBooking.setBookingId(booking.getBookingId());
vBooking.setExternalId(booking.getExternalId());
vBooking.setGroupId(booking.getGroupId());
vBooking.setGroupName(booking.getGroupName());
vBooking.setEventName(booking.getEventName());
vBooking.setStart(booking.getStart());
vBooking.setStartBuffer(booking.getStartBuffer());
vBooking.setEnd(booking.getEnd());
vBooking.setEndBuffer(booking.getEndBuffer());
vBooking.setRoomSize(booking.getRoomSize());
vBooking.setAutoSignIn(booking.isAutoSignIn());
vBooking.setTimeZoneId(viteroModule.getTimeZoneId());
ViteroStatus status;
if (booking.getBookingId() > 0) {
status = viteroManager.updateVmsBooking(vBooking);
} else {
status = viteroManager.createBooking(null, ores, subIdentifier, vBooking);
}
Response response;
if (status.isOk()) {
response = Response.ok(new ViteroBookingVO(vBooking)).build();
} else {
response = handleViteroError(status);
}
return response;
} catch (VmsNotAvailableException e) {
log.error("", e);
return handleNotAvailableException();
}
}
use of org.olat.modules.vitero.manager.VmsNotAvailableException in project openolat by klemens.
the class ViteroBookingWebService method getMembers.
/**
* Returns the list of members of the booking.
*
* @response.representation.200.qname {http://www.example.com}viteroGroupMemberVO
* @response.representation.200.mediaType application/xml, application/json
* @response.representation.200.doc This is the list of all bookings of a resource
* @response.representation.200.example {@link org.olat.modules.vitero.restapi.Examples#SAMPLE_ViteroGroupMemberVO}
* @param bookingId The id of the booking
* @return The list of members in the specified booking
*/
@GET
@Path("{bookingId}/members")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response getMembers(@PathParam("bookingId") int bookingId) {
try {
ViteroBooking booking = viteroManager.getBookingById(null, ores, subIdentifier, bookingId);
if (booking == null) {
return Response.serverError().status(Status.NOT_FOUND).build();
}
ViteroGroupRoles roles = viteroManager.getGroupRoles(booking.getGroupId());
if (roles == null) {
return Response.serverError().status(Status.NOT_FOUND).build();
}
List<String> currentEmails = new ArrayList<>(roles.getEmailsOfParticipants());
List<ViteroGroupMemberVO> memberList = new ArrayList<>(currentEmails.size());
for (String email : currentEmails) {
SearchIdentityParams params = new SearchIdentityParams();
params.setUserProperties(Collections.singletonMap(UserConstants.EMAIL, email));
List<Identity> identities = securityManager.getIdentitiesByPowerSearch(params, 0, 1);
for (Identity identity : identities) {
GroupRole role = roles.getEmailsToRole().get(email);
memberList.add(new ViteroGroupMemberVO(identity.getKey(), role.name()));
}
}
ViteroGroupMemberVO[] members = memberList.toArray(new ViteroGroupMemberVO[memberList.size()]);
return Response.ok(members).build();
} catch (VmsNotAvailableException e) {
log.error("", e);
return handleNotAvailableException();
}
}
Aggregations