Search in sources :

Example 16 with Member

use of org.olat.course.nodes.members.Member in project openolat by klemens.

the class MembersMailController method doAddSelectedMembers.

private void doAddSelectedMembers(List<Member> moreSelectedMembers) {
    if (moreSelectedMembers == null || moreSelectedMembers.isEmpty())
        return;
    for (Member selectedMember : selectedMembers) {
        if (selectedMember.getRemoveLink() != null) {
            individualMemberCont.remove(selectedMember.getRemoveLink());
        }
    }
    selectedMembers.clear();
    for (Member member : moreSelectedMembers) {
        if (selectedMembers.contains(member))
            continue;
        String removeLinkName = "remove_" + (++counter);
        FormLink removeLink = uifactory.addFormLink(removeLinkName, "remove", "", null, individualMemberCont, Link.NONTRANSLATED);
        removeLink.setUserObject(member);
        removeLink.setIconLeftCSS("o_icon o_icon_remove");
        individualMemberCont.add(removeLink);
        member.setRemoveLink(removeLink);
        selectedMembers.add(member);
    }
}
Also used : FormLink(org.olat.core.gui.components.form.flexible.elements.FormLink) Member(org.olat.course.nodes.members.Member)

Example 17 with Member

use of org.olat.course.nodes.members.Member in project openolat by klemens.

the class MembersMailController method doChooseMember.

private void doChooseMember(UserRequest ureq) {
    if (selectMemberCtrl != null || cmc != null)
        return;
    List<Member> owners = ownerList;
    List<Member> coaches = coachList;
    List<Member> participants = participantList;
    List<Member> waiting = waitingList;
    if (ownerEl != null && ownerEl.isAtLeastSelected(1)) {
        owners = null;
    }
    if (coachEl != null && coachEl.isAtLeastSelected(1)) {
        coaches = null;
    }
    if (participantEl != null && participantEl.isAtLeastSelected(1)) {
        participants = null;
    }
    if (waitingEl != null && waitingEl.isAtLeastSelected(1)) {
        waiting = null;
    }
    if (owners == null && coaches == null && participants == null) {
        showWarning("already.all.selected");
    } else {
        selectMemberCtrl = new SelectMembersController(ureq, getWindowControl(), getTranslator(), selectedMembers, owners, coaches, participants, waiting);
        listenTo(selectMemberCtrl);
        String title = translate("select.members");
        cmc = new CloseableModalController(getWindowControl(), translate("close"), selectMemberCtrl.getInitialComponent(), true, title);
        cmc.suppressDirtyFormWarningOnClose();
        listenTo(cmc);
        cmc.activate();
    }
}
Also used : CloseableModalController(org.olat.core.gui.control.generic.closablewrapper.CloseableModalController) Member(org.olat.course.nodes.members.Member)

Example 18 with Member

use of org.olat.course.nodes.members.Member in project openolat by klemens.

the class MembersMailController method formInnerEvent.

@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
    if (source == externalEl) {
        externalAddressesEl.setVisible(externalEl.isAtLeastSelected(1));
    } else if (source == individualEl) {
        individualMemberCont.setVisible(individualEl.isAtLeastSelected(1));
        flc.setDirty(true);
    } else if (source == attachmentEl) {
        doUploadAttachement();
    } else if (source == addMemberButton) {
        doChooseMember(ureq);
    } else if (source instanceof FormLink) {
        FormLink link = (FormLink) source;
        String cmd = link.getCmd();
        if ("delete".equals(cmd)) {
            Attachment attachment = (Attachment) link.getUserObject();
            doDeleteAttachment(attachment);
        } else if ("remove".equals(cmd)) {
            Member member = (Member) link.getUserObject();
            doRemoveIndividualMember(member);
        }
    }
    super.formInnerEvent(ureq, source, event);
}
Also used : FormLink(org.olat.core.gui.components.form.flexible.elements.FormLink) Member(org.olat.course.nodes.members.Member)

Example 19 with Member

use of org.olat.course.nodes.members.Member in project openolat by klemens.

the class MembersPrintController method initFormMemberList.

private void initFormMemberList(String name, String label, List<Identity> members) {
    List<Member> memberWrappers = members.stream().map(m -> createMember(m)).collect(Collectors.toList());
    VelocityContainer listVC = createVelocityContainer("printList");
    listVC.contextPut("label", label);
    listVC.contextPut("avatarBaseURL", avatarBaseURL);
    listVC.contextPut("members", memberWrappers);
    listVC.contextPut("typecss", "o_" + name);
    listVC.contextPut("userPropertyPrintHandlers", userPropertyPrintHandlers);
    // add lookup table so the avatar properties can be read out from the member object that contains the full list of attributes
    Map<String, Integer> handlerLookupMap = new HashMap<String, Integer>();
    for (int i = userPropertyPrintHandlers.size(); i-- > 0; ) {
        UserPropertyHandler handler = userPropertyPrintHandlers.get(i);
        handlerLookupMap.put(handler.getName(), i);
    }
    listVC.contextPut("handlerLookupMap", handlerLookupMap);
    mainVC.put(name, listVC);
}
Also used : Util(org.olat.core.util.Util) Autowired(org.springframework.beans.factory.annotation.Autowired) HashMap(java.util.HashMap) MediaResource(org.olat.core.gui.media.MediaResource) Event(org.olat.core.gui.control.Event) Member(org.olat.course.nodes.members.Member) HttpServletRequest(javax.servlet.http.HttpServletRequest) MainPanel(org.olat.core.gui.components.panel.MainPanel) UserConstants(org.olat.core.id.UserConstants) Locale(java.util.Locale) Map(java.util.Map) VelocityContainer(org.olat.core.gui.components.velocity.VelocityContainer) MetaInfo(org.olat.core.commons.modules.bc.meta.MetaInfo) BaseSecurityModule(org.olat.basesecurity.BaseSecurityModule) MetaTagged(org.olat.core.commons.modules.bc.meta.tagged.MetaTagged) VFSLeaf(org.olat.core.util.vfs.VFSLeaf) Translator(org.olat.core.gui.translator.Translator) WindowControl(org.olat.core.gui.control.WindowControl) UserPropertyHandler(org.olat.user.propertyhandlers.UserPropertyHandler) DisplayPortraitManager(org.olat.user.DisplayPortraitManager) Component(org.olat.core.gui.components.Component) Collectors(java.util.stream.Collectors) Mapper(org.olat.core.dispatcher.mapper.Mapper) NotFoundMediaResource(org.olat.core.gui.media.NotFoundMediaResource) UserManager(org.olat.user.UserManager) BasicController(org.olat.core.gui.control.controller.BasicController) List(java.util.List) Identity(org.olat.core.id.Identity) VFSMediaResource(org.olat.core.util.vfs.VFSMediaResource) UserRequest(org.olat.core.gui.UserRequest) Roles(org.olat.core.id.Roles) HashMap(java.util.HashMap) Member(org.olat.course.nodes.members.Member) UserPropertyHandler(org.olat.user.propertyhandlers.UserPropertyHandler) VelocityContainer(org.olat.core.gui.components.velocity.VelocityContainer)

Example 20 with Member

use of org.olat.course.nodes.members.Member in project openolat by klemens.

the class SelectMembersController method makeSelection.

private MultipleSelectionElement makeSelection(String name, List<Member> members, FormItemContainer formLayout) {
    String[] keys = new String[members.size()];
    String[] values = new String[members.size()];
    List<String> preSelectedOptions = new ArrayList<>();
    for (int i = members.size(); i-- > 0; ) {
        Member member = members.get(i);
        String optionKey = member.getKey().toString();
        keys[i] = optionKey;
        values[i] = member.getFullName();
        if (preSelectedMembers.contains(member)) {
            preSelectedOptions.add(optionKey);
        }
    }
    MultipleSelectionElement selectionEl = uifactory.addCheckboxesVertical(name, name, formLayout, keys, values, 2);
    for (String preSelectedOption : preSelectedOptions) {
        selectionEl.select(preSelectedOption, true);
    }
    return selectionEl;
}
Also used : MultipleSelectionElement(org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement) ArrayList(java.util.ArrayList) Member(org.olat.course.nodes.members.Member)

Aggregations

Member (org.olat.course.nodes.members.Member)20 ArrayList (java.util.ArrayList)8 FormLink (org.olat.core.gui.components.form.flexible.elements.FormLink)8 Identity (org.olat.core.id.Identity)8 HashMap (java.util.HashMap)6 UserPropertyHandler (org.olat.user.propertyhandlers.UserPropertyHandler)4 HashSet (java.util.HashSet)2 List (java.util.List)2 Locale (java.util.Locale)2 Map (java.util.Map)2 StringTokenizer (java.util.StringTokenizer)2 Collectors (java.util.stream.Collectors)2 HttpServletRequest (javax.servlet.http.HttpServletRequest)2 BaseSecurityModule (org.olat.basesecurity.BaseSecurityModule)2 MetaInfo (org.olat.core.commons.modules.bc.meta.MetaInfo)2 MetaTagged (org.olat.core.commons.modules.bc.meta.tagged.MetaTagged)2 Mapper (org.olat.core.dispatcher.mapper.Mapper)2 UserRequest (org.olat.core.gui.UserRequest)2 Component (org.olat.core.gui.components.Component)2 MultipleSelectionElement (org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement)2