Search in sources :

Example 21 with ContactMessage

use of org.olat.core.util.mail.ContactMessage in project OpenOLAT by OpenOLAT.

the class CertificateAndEfficiencyStatementController method contact.

private void contact(UserRequest ureq) {
    removeAsListenerAndDispose(cmc);
    ContactMessage cmsg = new ContactMessage(getIdentity());
    ContactList contactList = new ContactList("to");
    contactList.add(statementOwner);
    cmsg.addEmailTo(contactList);
    contactCtrl = new ContactFormController(ureq, getWindowControl(), true, false, false, cmsg);
    listenTo(contactCtrl);
    cmc = new CloseableModalController(getWindowControl(), translate("close"), contactCtrl.getInitialComponent());
    cmc.activate();
    listenTo(cmc);
}
Also used : CloseableModalController(org.olat.core.gui.control.generic.closablewrapper.CloseableModalController) ContactFormController(org.olat.modules.co.ContactFormController) ContactList(org.olat.core.util.mail.ContactList) ContactMessage(org.olat.core.util.mail.ContactMessage)

Example 22 with ContactMessage

use of org.olat.core.util.mail.ContactMessage in project OpenOLAT by OpenOLAT.

the class BusinessGroupMainRunController method createContactFormController.

/**
 * generates the email adress list.
 *
 * @param ureq
 * @return a contact form controller for this group
 */
private ContactFormController createContactFormController(UserRequest ureq) {
    ContactMessage cmsg = new ContactMessage(ureq.getIdentity());
    // two named ContactLists, the new way using the contact form
    // the same name as in the checkboxes are taken as contactlist names
    // = new ContactList(translate("sendtochooser.form.chckbx.owners"));
    ContactList ownerCntctLst;
    // = new ContactList(translate("sendtochooser.form.chckbx.partip"));
    ContactList partipCntctLst;
    // = new ContactList(translate("sendtochooser.form.chckbx.waitingList"));
    ContactList waitingListContactList;
    if (sendToChooserForm.ownerChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_ALL)) {
        ownerCntctLst = new ContactList(translate("sendtochooser.form.radio.owners.all"));
        List<Identity> ownerList = businessGroupService.getMembers(businessGroup, GroupRoles.coach.name());
        ownerCntctLst.addAllIdentites(ownerList);
        cmsg.addEmailTo(ownerCntctLst);
    } else {
        if (sendToChooserForm.ownerChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_CHOOSE)) {
            ownerCntctLst = new ContactList(translate("sendtochooser.form.radio.owners.choose"));
            List<Identity> ownerList = businessGroupService.getMembers(businessGroup, GroupRoles.coach.name());
            List<Identity> changeableOwnerList = new ArrayList<>(ownerList);
            for (Identity identity : ownerList) {
                boolean keyIsSelected = false;
                for (Long key : sendToChooserForm.getSelectedOwnerKeys()) {
                    if (key.equals(identity.getKey())) {
                        keyIsSelected = true;
                        break;
                    }
                }
                if (!keyIsSelected) {
                    changeableOwnerList.remove(changeableOwnerList.indexOf(identity));
                }
            }
            ownerCntctLst.addAllIdentites(changeableOwnerList);
            cmsg.addEmailTo(ownerCntctLst);
        }
    }
    if (sendToChooserForm != null) {
        if (sendToChooserForm.participantChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_ALL)) {
            partipCntctLst = new ContactList(translate("sendtochooser.form.radio.partip.all"));
            List<Identity> participantsList = businessGroupService.getMembers(businessGroup, GroupRoles.participant.name());
            partipCntctLst.addAllIdentites(participantsList);
            cmsg.addEmailTo(partipCntctLst);
        } else {
            if (sendToChooserForm.participantChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_CHOOSE)) {
                partipCntctLst = new ContactList(translate("sendtochooser.form.radio.partip.choose"));
                List<Identity> participantsList = businessGroupService.getMembers(businessGroup, GroupRoles.participant.name());
                List<Identity> changeableParticipantsList = new ArrayList<>(participantsList);
                for (Identity identity : participantsList) {
                    boolean keyIsSelected = false;
                    for (Long key : sendToChooserForm.getSelectedPartipKeys()) {
                        if (key.equals(identity.getKey())) {
                            keyIsSelected = true;
                            break;
                        }
                    }
                    if (!keyIsSelected) {
                        changeableParticipantsList.remove(changeableParticipantsList.indexOf(identity));
                    }
                }
                partipCntctLst.addAllIdentites(changeableParticipantsList);
                cmsg.addEmailTo(partipCntctLst);
            }
        }
    }
    if (sendToChooserForm != null && isAdmin && businessGroup.getWaitingListEnabled().booleanValue()) {
        if (sendToChooserForm.waitingListChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_ALL)) {
            waitingListContactList = new ContactList(translate("sendtochooser.form.radio.waitings.all"));
            List<Identity> waitingListIdentities = businessGroupService.getMembers(businessGroup, GroupRoles.waiting.name());
            waitingListContactList.addAllIdentites(waitingListIdentities);
            cmsg.addEmailTo(waitingListContactList);
        } else {
            if (sendToChooserForm.waitingListChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_CHOOSE)) {
                waitingListContactList = new ContactList(translate("sendtochooser.form.radio.waitings.choose"));
                List<Identity> waitingListIdentities = businessGroupService.getMembers(businessGroup, GroupRoles.waiting.name());
                List<Identity> changeableWaitingListIdentities = new ArrayList<>(waitingListIdentities);
                for (Identity indentity : waitingListIdentities) {
                    boolean keyIsSelected = false;
                    for (Long key : sendToChooserForm.getSelectedWaitingKeys()) {
                        if (key.equals(indentity.getKey())) {
                            keyIsSelected = true;
                            break;
                        }
                    }
                    if (!keyIsSelected) {
                        changeableWaitingListIdentities.remove(changeableWaitingListIdentities.indexOf(indentity));
                    }
                }
                waitingListContactList.addAllIdentites(changeableWaitingListIdentities);
                cmsg.addEmailTo(waitingListContactList);
            }
        }
    }
    cmsg.setSubject(translate("businessgroup.contact.subject", businessGroup.getName()));
    if (sendToChooserForm.waitingListChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_NOTHING)) {
        String restUrl = BusinessControlFactory.getInstance().getAsURIString(getWindowControl().getBusinessControl(), true);
        cmsg.setBodyText(getTranslator().translate("businessgroup.contact.bodytext", new String[] { businessGroup.getName(), "<a href='" + restUrl + "'>" + restUrl + "</a>" }));
    } else {
        cmsg.setBodyText("");
    }
    CollaborationTools collabTools = CollaborationToolsFactory.getInstance().getOrCreateCollaborationTools(businessGroup);
    return collabTools.createContactFormController(ureq, getWindowControl(), cmsg);
}
Also used : ArrayList(java.util.ArrayList) CollaborationTools(org.olat.collaboration.CollaborationTools) ContactList(org.olat.core.util.mail.ContactList) Identity(org.olat.core.id.Identity) ContactMessage(org.olat.core.util.mail.ContactMessage)

Example 23 with ContactMessage

use of org.olat.core.util.mail.ContactMessage in project OpenOLAT by OpenOLAT.

the class DENManager method sendParticipantsMessage.

/**
 * Generates the mail window
 * @param ureq
 * @param wControl
 * @param listener
 * @param velocity_root
 * @param trans
 * @param participants
 * @return VelocityContainer
 */
protected VelocityContainer sendParticipantsMessage(UserRequest ureq, WindowControl wControl, DefaultController listener, String velocity_root, Translator trans, List<Identity> participants) {
    VelocityContainer sendMessageVC = new VelocityContainer("sendmessage", velocity_root + "/sendmessage.html", trans, listener);
    ContactMessage cmsg = new ContactMessage(ureq.getIdentity());
    ContactList contactList = null;
    if (participants.size() == 1) {
        contactList = new ContactList(participants.get(0).getUser().getProperty(UserConstants.EMAIL, ureq.getLocale()));
    } else {
        contactList = new ContactList(trans.translate("participants.message.to"));
    }
    contactList.addAllIdentites(participants);
    cmsg.addEmailTo(contactList);
    ContactFormController contactCtr = new ContactFormController(ureq, wControl, false, false, false, cmsg);
    contactCtr.addControllerListener(listener);
    sendMessageVC.contextPut("title", trans.translate("participants.message"));
    sendMessageVC.put("contactForm", contactCtr.getInitialComponent());
    return sendMessageVC;
}
Also used : ContactFormController(org.olat.modules.co.ContactFormController) ContactList(org.olat.core.util.mail.ContactList) VelocityContainer(org.olat.core.gui.components.velocity.VelocityContainer) ContactMessage(org.olat.core.util.mail.ContactMessage)

Example 24 with ContactMessage

use of org.olat.core.util.mail.ContactMessage in project OpenOLAT by OpenOLAT.

the class DENManageParticipantsController method createParticipantsMail.

private void createParticipantsMail(UserRequest ureq, List<Identity> participants) {
    VelocityContainer sendMessageVC = createVelocityContainer("sendmessage");
    ContactMessage cmsg = new ContactMessage(ureq.getIdentity());
    ContactList contactList = new ContactList(translate("participants.message.to"));
    contactList.addAllIdentites(participants);
    cmsg.addEmailTo(contactList);
    removeAsListenerAndDispose(contactCtr);
    contactCtr = new ContactFormController(ureq, getWindowControl(), false, false, false, cmsg);
    listenTo(contactCtr);
    sendMessageVC.contextPut("title", translate("participants.message"));
    sendMessageVC.put("contactForm", contactCtr.getInitialComponent());
    removeAsListenerAndDispose(notificationCmc);
    notificationCmc = new CloseableModalController(getWindowControl(), "close", sendMessageVC);
    listenTo(notificationCmc);
    notificationCmc.activate();
}
Also used : CloseableModalController(org.olat.core.gui.control.generic.closablewrapper.CloseableModalController) ContactFormController(org.olat.modules.co.ContactFormController) ContactList(org.olat.core.util.mail.ContactList) VelocityContainer(org.olat.core.gui.components.velocity.VelocityContainer) ContactMessage(org.olat.core.util.mail.ContactMessage)

Example 25 with ContactMessage

use of org.olat.core.util.mail.ContactMessage in project OpenOLAT by OpenOLAT.

the class GroupContactController method createContactMessage.

private ContactMessage createContactMessage(Identity from, String contactListName, BusinessGroup businessGroup) {
    ContactMessage contactMessage = new ContactMessage(from);
    ContactList contactList = new ContactList(translate(contactListName));
    List<Identity> members = businessGroupService.getMembers(businessGroup, GroupRoles.coach.name());
    for (Identity member : members) {
        contactList.add(member);
    }
    contactMessage.addEmailTo(contactList);
    return contactMessage;
}
Also used : ContactList(org.olat.core.util.mail.ContactList) Identity(org.olat.core.id.Identity) ContactMessage(org.olat.core.util.mail.ContactMessage)

Aggregations

ContactMessage (org.olat.core.util.mail.ContactMessage)34 ContactList (org.olat.core.util.mail.ContactList)28 ContactFormController (org.olat.modules.co.ContactFormController)28 CloseableModalController (org.olat.core.gui.control.generic.closablewrapper.CloseableModalController)20 Identity (org.olat.core.id.Identity)18 ArrayList (java.util.ArrayList)6 WindowControl (org.olat.core.gui.control.WindowControl)6 VelocityContainer (org.olat.core.gui.components.velocity.VelocityContainer)4 OLATResourceable (org.olat.core.id.OLATResourceable)4 HashMap (java.util.HashMap)2 List (java.util.List)2 UserBulkChangeStep00 (org.olat.admin.user.bulkChange.UserBulkChangeStep00)2 SecurityGroup (org.olat.basesecurity.SecurityGroup)2 SingleIdentityChosenEvent (org.olat.basesecurity.events.SingleIdentityChosenEvent)2 CollaborationTools (org.olat.collaboration.CollaborationTools)2 UserRequest (org.olat.core.gui.UserRequest)2 TableEvent (org.olat.core.gui.components.table.TableEvent)2 TableMultiSelectEvent (org.olat.core.gui.components.table.TableMultiSelectEvent)2 ControllerCreator (org.olat.core.gui.control.creator.ControllerCreator)2 PopupBrowserWindow (org.olat.core.gui.control.generic.popup.PopupBrowserWindow)2