Search in sources :

Example 31 with Room

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;
}
Also used : Appointment(org.apache.openmeetings.db.entity.calendar.Appointment) MeetingMember(org.apache.openmeetings.db.entity.calendar.MeetingMember) Room(org.apache.openmeetings.db.entity.room.Room) Date(java.util.Date)

Example 32 with Room

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()));
    }
}
Also used : PriorityHeaderItem(org.apache.wicket.markup.head.PriorityHeaderItem) ChatMessage(org.apache.openmeetings.db.entity.basic.ChatMessage) JavaScriptResourceReference(org.apache.wicket.request.resource.JavaScriptResourceReference) ArrayList(java.util.ArrayList) Room(org.apache.openmeetings.db.entity.room.Room)

Example 33 with Room

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);
}
Also used : User(org.apache.openmeetings.db.entity.user.User) Room(org.apache.openmeetings.db.entity.room.Room)

Example 34 with Room

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();
}
Also used : DialogButton(com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton) Room(org.apache.openmeetings.db.entity.room.Room)

Example 35 with Room

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;
}
Also used : GroupUser(org.apache.openmeetings.db.entity.user.GroupUser) ArrayList(java.util.ArrayList) Room(org.apache.openmeetings.db.entity.room.Room)

Aggregations

Room (org.apache.openmeetings.db.entity.room.Room)54 Test (org.junit.Test)9 ArrayList (java.util.ArrayList)7 RoomDTO (org.apache.openmeetings.db.dto.room.RoomDTO)7 User (org.apache.openmeetings.db.entity.user.User)7 Path (javax.ws.rs.Path)6 Appointment (org.apache.openmeetings.db.entity.calendar.Appointment)6 WebMethod (javax.jws.WebMethod)5 ServiceResult (org.apache.openmeetings.db.dto.basic.ServiceResult)5 RoomGroup (org.apache.openmeetings.db.entity.room.RoomGroup)5 Date (java.util.Date)4 GET (javax.ws.rs.GET)4 Client (org.apache.openmeetings.db.entity.basic.Client)4 MeetingMember (org.apache.openmeetings.db.entity.calendar.MeetingMember)4 RoomDao (org.apache.openmeetings.db.dao.room.RoomDao)3 Recording (org.apache.openmeetings.db.entity.record.Recording)3 RoomModerator (org.apache.openmeetings.db.entity.room.RoomModerator)3 WebSession (org.apache.openmeetings.web.app.WebSession)3 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)3 Label (org.apache.wicket.markup.html.basic.Label)3