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);
}
}
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();
}
}
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);
}
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);
}
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;
}
Aggregations