use of org.apache.openmeetings.db.entity.room.Room in project openmeetings by apache.
the class AppointmentDao method update.
public Appointment update(Appointment a, Long userId, boolean sendmails) {
Room r = a.getRoom();
if (r.getId() == null) {
r.setName(a.getTitle());
r.setCapacity(cfgDao.getLong(CONFIG_CALENDAR_ROOM_CAPACITY, 50L));
}
a.setRoom(roomDao.update(r, userId));
if (sendmails) {
Set<Long> mmIds = a.getId() == null ? new HashSet<>() : meetingMemberDao.getMeetingMemberIdsByAppointment(a.getId());
// update meeting members
Appointment a0 = a.getId() == null ? null : get(a.getId());
boolean sendMail = a0 == null || !a0.getTitle().equals(a.getTitle()) || !(a0.getDescription() != null ? a0.getDescription().equals(a.getDescription()) : true) || !(a0.getLocation() != null ? a0.getLocation().equals(a.getLocation()) : true) || !a0.getStart().equals(a.getStart()) || !a0.getEnd().equals(a.getEnd());
List<MeetingMember> mmList = a.getMeetingMembers();
if (mmList != null) {
for (MeetingMember mm : mmList) {
if (mm.getId() == null || !mmIds.contains(mm.getId())) {
invitationManager.processInvitation(a, mm, MessageType.Create);
} else {
mmIds.remove(mm.getId());
invitationManager.processInvitation(a, mm, MessageType.Update, sendMail);
}
}
}
for (long id : mmIds) {
invitationManager.processInvitation(a, meetingMemberDao.get(id), MessageType.Cancel);
}
// notify owner
MeetingMember owner = new MeetingMember();
owner.setUser(a.getOwner());
if (a.getId() == null) {
invitationManager.processInvitation(a, owner, MessageType.Create);
} else if (a.isDeleted()) {
invitationManager.processInvitation(a, owner, MessageType.Cancel);
} else if (sendMail) {
invitationManager.processInvitation(a, owner, MessageType.Update, sendMail);
}
}
if (a.getId() == null) {
a.setInserted(new Date());
em.persist(a);
} else {
a.setUpdated(new Date());
a = em.merge(a);
}
return a;
}
use of org.apache.openmeetings.db.entity.room.Room in project openmeetings by apache.
the class Chat method renderHead.
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(new JavaScriptResourceReference(Chat.class, "chat.js"))));
response.render(new PriorityHeaderItem(getNamedFunction("chatActivity", chatActivity, explicit(PARAM_TYPE), explicit(PARAM_ROOM_ID), explicit(PARAM_MSG_ID))));
if (showDashboardChat) {
StringBuilder sb = new StringBuilder(getReinit());
List<ChatMessage> list = new ArrayList<>(chatDao.getGlobal(0, 30));
for (Long roomId : cm.listRoomIds(getUserId())) {
Room r = roomDao.get(roomId);
sb.append(addRoom(r));
}
list.addAll(chatDao.getUserRecent(getUserId(), Date.from(Instant.now().minus(Duration.ofHours(1L))), 0, 30));
if (!list.isEmpty()) {
sb.append("Chat.addMessage(").append(getMessage(list).toString()).append(");");
}
response.render(OnDomReadyHeaderItem.forScript(sb.toString()));
}
}
use of org.apache.openmeetings.db.entity.room.Room in project openmeetings by apache.
the class InviteUserMessageDialog method open.
public void open(IPartialPageRequestHandler handler, Long roomId, Long userId) {
Room r = roomDao.get(roomId);
User u = userDao.get(userId);
message.setModelObject(String.format("%s %s %s %s", u.getFirstname(), u.getLastname(), getString("1137"), r.getName()));
enterRoom.setModelObject(false);
handler.add(form);
open(handler);
}
use of org.apache.openmeetings.db.entity.room.Room in project openmeetings by apache.
the class InviteUserToRoomDialog method onInitialize.
@Override
protected void onInitialize() {
getTitle().setObject(getString("1131"));
cancel = new DialogButton("cancel", getString("lbl.cancel"));
add(publicRooms = new InviteRoomListPanel("publicRooms", new ArrayList<Room>(), getString("1135")));
add(privateRooms = new InviteRoomListPanel("privateRooms", new ArrayList<Room>(), getString("1135")));
add(inviteMsg);
super.onInitialize();
}
use of org.apache.openmeetings.db.entity.room.Room in project openmeetings by apache.
the class InviteUserToRoomDialog method getPrivateRooms.
private List<Room> getPrivateRooms(Long userId1, Long userId2, RoomDao roomDao) {
List<Long> orgIds = new ArrayList<>();
List<Long> orgIds2 = new ArrayList<>();
for (GroupUser gu : userDao.get(userId1).getGroupUsers()) {
orgIds.add(gu.getGroup().getId());
}
for (GroupUser gu : userDao.get(userId2).getGroupUsers()) {
orgIds2.add(gu.getGroup().getId());
}
orgIds.retainAll(orgIds2);
List<Room> result = new ArrayList<>();
for (Long orgId : orgIds) {
result.addAll(roomDao.getGroupRooms(orgId));
}
return result;
}
Aggregations